Question
J'essaie de configurer un mappage de clé vim qui mappera la clé ';' à A; - c’est-à-dire que je veux ajouter automatiquement ';' à la fin de la ligne. Cependant, j'ai du mal à établir cette cartographie. Je voudrais aussi limiter cela à des fichiers java si possible. Cela peut-il être fait?
Merci
La solution
Le mappage lui-même se fait de la manière suivante:
:map ; A;<esc>
Je vous conseillerais de mettre cette ligne dans votre fichier .vimrc et de vivre avec elle (cela ne devrait pas vous déranger, car le mappage ne fonctionne qu'en mode commande). Si vous devez vraiment limiter ce comportement à certains fichiers, vous devez vous pencher sur la fonction autocmd
(: help autocmd
)
Autres conseils
Si vous souhaitez limiter cette fonctionnalité aux tampons java, consultez ftplugins. Le mappage devient alors:
nnoremap <buffer> ; A;<esc>
BTW, je vous déconseille de mapper sur ';
' car c'est une commande très utile qui peut être utilisée dans d'autres mappages mal définis (trop de vimmers utilisent : * map
au lieu de : * noremap
).
Utilisez les ftplugins comme Luc Hermitte l’a dit ou ajoutez ce qui suit à votre .vimrc
autocmd filetype java :nnoremap <buffer> ; A;<esc>
Mettez ceci dans ~ / .vim / after / ftplugin / java.vim
nnoremap <buffer> ; A;<Esc>
Ce mappage doit maintenant être local pour les tampons java uniquement
Comme mise en œuvre rapide, qu’en est-il:
map ; $a;cntl-vESC
puis appuyez sur Entrée
Je réfléchirai à l'activation de cette option pour les fichiers Java uniquement.