Maison > Article > Opération et maintenance > Améliorer le fonctionnement de Vim - Cartographie VIM
La cartographie est ma fonction vim préférée. Grâce à elle, je peux définir librement mes propres touches de raccourci, ce qui peut grandement améliorer mon efficacité d'écriture. Le mappage peut être compris comme la définition de touches de raccourci, ce qui vous permet de remplacer des touches plus compliquées par un petit nombre de touches faciles à appuyer.
Quand utiliser la cartographie
Si vous rencontrez un ou plusieurs des problèmes suivants, vous pouvez utiliser la cartographie
Pas satisfait des touches actuelles
Vous souhaitez définir des touches de raccourci pour améliorer la vitesse d'édition
Vous souhaitez en combiner certaines clés Compléter de nouvelles exigences
Classification cartographiée
Nous savons que vim a plusieurs modes, correspondant à eux, la cartographie également inclut nmap (mappage normal), imap (mappage d'insertion) et vmap (mappage de sélection de bloc).
Choisissons quelques cas pour parler de ces trois cartographies.
Mapping normal
" 使用F1切换显示行号 nmap <F1> :set nu! nu?<cr>
CR signifie ici la touche Entrée.
Insérer le mappage
" 使用jj来代替esc键,完成从插入模式退回到普通模式 imap jj <esc>`^
Généralement, nous utiliserons jj au lieu de la touche esc pour passer rapidement du mode insertion au mode normal.
" 在插入模式下向前向后删除字符 imap <C-b> <Backspace> imap <C-d> <Esc>lxi
Ici, c représente la touche ctrl. En mode insertion, utilisez ctrl+b pour supprimer un caractère en arrière et utilisez ctrl+d pour supprimer un caractère en avant.
Mappage en mode bloc
Généralement, nous augmentons ou diminuons souvent l'indentation du texte multiligne. Comme mentionné dans un article précédent, cette exigence peut être satisfaite grâce à la sélection de blocs combinée à la ligne de commande ou via des macros. Aujourd’hui, après avoir appris la cartographie, vous pouvez utiliser une méthode plus simple pour répondre à vos besoins.
vmap < <gv vmap > >gv
Maintenant, si nous voulons mettre en retrait plusieurs lignes, il nous suffit de sélectionner les lignes et d'appuyer sur > ou <.
Mappage récursif
Que se passera-t-il si vous effectuez le prochain mappage
nmap dd O<esc>jddk
Et si lorsque vous exécutez dd plus tard, de graves problèmes surviendront. Comme il y a des dd des deux côtés du mappage, cela provoquera une boucle infinie. Cette boucle infinie est provoquée par la récursion, c'est pourquoi on l'appelle cartographie récursive.
Comme vous pouvez le voir, le mappage récursif est nuisible, donc le mappage récursif n'est jamais autorisé à être utilisé dans le travail, mais le mappage non récursif doit être utilisé. Et si nous faisions du mappage non récursif ? C'est aussi très simple, il suffit d'ajouter 4 lettres nore
nmap récursif nnoremap non récursif
imap récursif inoremap non récursif
vmap récursif vnoremap non récursif
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!