Ceux qui sont entrés dans le monde de Vim à mi-chemin et se trouvent dans les situations suivantes
[Si vous vous perdez, ceci] Entrez ce qui suit sur le terminal
$ cd && git clone https://github.com/mojamozya/allapps-vimlike.git
[Si vous vous perdez, ceci]
$ echo 'xkbcomp -I$HOME/allapps-vimlike/.xkb ~/allapps-vimlike/.xkb/keymap/mykbd $DISPLAY 2> /dev/null' >> ~/.bashrc
Pour le moment, cela permettra à toute personne qui écrit Simply mapped (Mapped with XKB) dans le référentiel.
Si vous n'avez pas configuré le terminal pour qu'il démarre au démarrage, veuillez démarrer le terminal à chaque démarrage.
$ sudo apt install autokey-gtk
Si vous n'êtes pas Gnome, peut-être autokey-qt
$ autokey
En raison des spécifications d'Autokey, c'est un peu déroutant. Pour le moment, vous pouvez supprimer tous les dossiers et phrases inclus par défaut dans l'autokey.
Sur l'écran Autokey, sélectionnez File
-> New
-> Folder
dans la barre de menu, puis
Sélectionnez «Utiliser par défaut» et créez un dossier appelé «général» à l'emplacement par défaut.
Il devrait y avoir un dossier appelé general dans ~ / .config / autokey / data, donc
Faites un lien symbolique de ʻallapps-vimlike / .autokey / general / vimlike` ici.
[Si vous vous perdez, ceci] Après avoir créé un dossier appelé «général» à l'emplacement par défaut comme décrit ci-dessus à partir de l'écran Autokey,
$ ln -s ~/allapps-vimlike/.autokey/general/vimlike ~/.config/autokey/data/general
Pour ubuntu, il suffit de l'ajouter à la session, Si vous venez d'une autre distribution, vérifiez-la par vous-même.
Vous pouvez ajouter ʻautokey` à bashrc, mais Il peut être un peu ennuyeux que la clé automatique soit redémarrée à chaque démarrage du terminal
Peut être utilisé.
Étant donné que la clé de conversion correspond à la clé Hyper, Lisez le mappage de touches comme Hyper = Transform.
Vous pouvez probablement voir comment faire Hyper autre que la clé de conversion en regardant l'atmosphère de la source autour de xkb. S'il y a une demande, j'écrirai une méthode spécifique, mais je l'omettrai car elle est sobre et gênante.
(Un keymap simple est également écrit dans le référentiel)
Comme Vim, le curseur est hjkl. En d'autres termes, si vous appuyez simultanément sur la touche de conversion et hjkl, elles deviendront des touches de curseur.
Echap secoue également Ctrl + [
et Ctrl + @
comme contre-mesure lorsque le petit doigt n'atteint pas.
(J'appuie souvent par erreur sur [et @)
Le fait est que BackSpace et Delete sont affectés respectivement à «;» et «:». Je n'entends pas autant de suppression que le Vim original, donc En appuyant sur; pour le supprimer, ce n'est pas comme Vim, mais c'est un raccourci normalement utile. (Il suffit de frapper; avec votre petit doigt vous fatiguera, il peut donc être bon de définir la zone autour de i sur BackSpace.)
: Eh bien, c'est le sentiment, "Si vous appuyez sur le côté droit de Backspace, le côté droit du curseur disparaît." Si vous vous sentez comme Vim, appuyez sur x. Je pense que peu importe lequel.
Il comporte également a et e avec des raccourcis clavier de type Emacs. Pour faciliter la pression sur la touche de conversion en même temps Il y a un peu de stress en appuyant sur ^, Lorsque vous appuyez sur Maj + $ C'est aussi stressant que lorsqu'un fumeur n'a pas fumé pendant 3 heures.
Donc, j'ai essayé d'adopter la liaison de clé Emac ici.
Pushed keys | Mapped Keys | Like | Usage |
---|---|---|---|
Hyper + h | ← | Vim | Cursor key |
Hyper + j | ↓ | Vim | Cursor key |
Hyper + k | ↑ | Vim | Cursor key |
Hyper + l | → | Vim | Cursor key |
Hyper + ; | BackSpace | Original | Backspace |
Hyper + x | BackSpace | Original | Backspace |
Hyper + : | Delete | Original | Delete |
Hyper + a | Home | Emacs | Move cursor to the head of line |
Hyper + e | End | Emacs | Move cursor to the end of line |
Hyper + m | Enter | Emacs | Enter key |
Hyper + Ctrl + [ | Esc | Vim | Esc (Mapped with AutoKey) |
Hyper + Ctrl + @ | Esc | Vim | Esc (Mapped with AutoKey) |
A partir de là, je fais quelque chose d'un peu compliqué. {Ctrl + touche curseur` déplacera le curseur de manière agréable Fonction IME? Fonction OS? Je ne sais pas cela, mais il se comporte un peu comme «e» ou «b» de Vim.
Mais j'utilise «e» dans la liaison Emacs, donc
J'ai assigné Ctrl + →
à w
, qui se comporte comme ʻe`.
Ctrl + →
ressemble plus à ʻe`.
Mais après tout, les détails sont différents de «e», donc peu importe lequel.
De même, Ctrl + ←
est assigné à b
.
Aussi, comme «o». En définissant une macro qui se déplace à la fin de la ligne avec la touche Fin, puis appuie sur la touche Entrée Le «o» de Vim est reproduit d'une manière pseudo.
Il est difficile de reproduire «Shift + o».
Si vous voulez que le retrait IDE soit correct, laissez-le tel quel.
Si vous voulez que cela fonctionne même lorsque vous êtes sur la première ligne, peut-être Accueil-> Entrée-> ↑
?
Pushed keys | Mapped Keys | Like | Usage |
---|---|---|---|
Hyper + Shift + b | Ctrl + ← | Vim | Move cursor to the head of word |
Hyper + Shift + w | Ctrl + Shift + → | Vim | Secelt the range from current cursor to the head of word |
Hyper + w | Ctrl + → | Vim | Move cursor to the end of word |
Hyper + Shift + w | Ctrl + Shift + → | Vim | Secelt the range from current cursor to the end of word |
Hyper + o | End -> Enter | Vim | Make a line below current cursor |
Hyper + Shift + o | ↑ -> End -> Enter | Vim | Make a line above current cursor |
Shortcut (Mapped with Autokey) Le reste est un raccourci. Personnellement, «Ctrl + x», «Ctrl + c» et «Ctrl + v» sont côte à côte. Je n'aime pas vraiment ça. Si vous voulez le copier, collez-le et vous avez terminé! Je vais le faire! Ça ira mieux. Donc, je passe à d, y, p, etc.
Comme il était difficile de reproduire «jj» et «yy»,
J'ai créé des raccourcis clavier Ctrl + d
et Ctrl + y
.
Ensuite, vous pouvez revenir au début de la ligne avec a et supprimer (yank) avec Shift + d (y).
Est-ce que c'est comme Ctrl + a-> Ctrl + k
dans Emacs? Je ne sais pas car je ne connais pas Emacs.
Je n'aime pas non plus Ctrl + z
parce que cela me crispe les doigts lorsque j'appuie dessus.
Je n'aime pas Refaire avec Ctrl + Maj + z
à cause du risque d'appuyer incorrectement.
Je l'ai donc reproduit avec ʻuet
Ctrl * r`.
Pushed keys | Mapped Keys | Like | Usage |
---|---|---|---|
Hyper + u | Ctrl + z | Vim | Undo |
Hyper + Ctrl + r | Ctrl + Shift + z | Vim | Redo |
Hyper + y | Ctrl + c | Vim | Copy |
Hyper + Ctrl + d | Home -> Shift + End -> Ctrl + c -> ← | Vim | Cut |
Hyper + Shift + y | Ctrl + End -> Ctrl + c -> → | Vim | Copy the range from current cursor to the end of line |
Hyper + d | Ctrl + x | Vim | Cut |
Hyper + Ctrl + d | Home -> Shift + End -> Ctrl + x -> Delete | Vim | Cut |
Hyper + Shift + d | Ctrl + Shift + End -> Ctrl + x | Vim | Cut the range from current cursor to the end of line |
Hyper + p | Ctrl + v | Vim | Paste |
Lors de l'utilisation avec vscode, je pense que c'est une bonne idée de définir Keyboard: Dispatch sur keyCode
.
Cela peut entraîner un comportement erratique de certains raccourcis dans vscode.
Dans ce cas, si vous jouez avec les raccourcis clavier de vscode, il sera guéri.
Je ne peux pas assumer la responsabilité même si mon ordinateur est en panne. TT Si vous avez des questions, n'hésitez pas.