[LINUX] "Vim autre que Vim" pour les utilisateurs de Vim light

Ce que vous pouvez faire après avoir lu cet article

Qui est la cible de cet article

Ceux qui sont entrés dans le monde de Vim à mi-chemin et se trouvent dans les situations suivantes

Un mec pour ceux qui veulent l'essayer pour le moment

① Clonez ce référentiel dans un emplacement approprié

[Si vous vous perdez, ceci] Entrez ce qui suit sur le terminal

$ cd && git clone https://github.com/mojamozya/allapps-vimlike.git

② Ajoutez ce qui suit à bashrc etc.

[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.

③ Installez Autokey

$ sudo apt install autokey-gtk

Si vous n'êtes pas Gnome, peut-être autokey-qt

④ Ouvrez l'écran de la clé automatique

$ autokey

⑤ Activez le référentiel téléchargé avec 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

⑥ S'il n'y a pas de problème après avoir vérifié le fonctionnement, lancez l'autokey au démarrage.

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

Comment utiliser

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.

Introduction et supplément de Keymap

(Un keymap simple est également écrit dans le référentiel)

Gars simple

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)

Celui qui déplace le curseur comme une macro

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 ʻuetCtrl * 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

utiliser vscode

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.

Autre

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.

Recommended Posts

"Vim autre que Vim" pour les utilisateurs de Vim light
Intégration BigQuery pour les utilisateurs Python
Avant l'introduction à l'apprentissage automatique. ~ Technologie requise pour l'apprentissage automatique autre que l'apprentissage automatique ~