Domanda
Sto cercando di impostare una mappatura della chiave vim che mapperà la chiave ';' ad A; - cioè voglio aggiungere automaticamente ";" fino alla fine della linea. Tuttavia, ho difficoltà a impostare questa mappatura. Vorrei anche limitare questo solo ai file java, se possibile. Questo può essere fatto?
Grazie
Soluzione
La mappatura stessa viene eseguita in questo modo:
:map ; A;<esc>
Vorrei raccomandare di inserire questa riga nel tuo .vimrc e conviverci (non dovrebbe disturbarti, poiché la mappatura funziona solo in modalità comando). Se è necessario limitare questo comportamento a determinati file, è necessario esaminare la funzione autocmd
(: help autocmd
)
Altri suggerimenti
Se vuoi limitare questa funzione ai buffer java, dai un'occhiata a ftplugins. La mappatura diventa quindi:
nnoremap <buffer> ; A;<esc>
A proposito, sconsiglio di mappare su ';
' in quanto è un comando molto utile che può essere utilizzato in altri mapping mal definiti (troppi vimmer utilizzano : * map anziché
: * noremap
).
Usa ftplugins come ha detto Luc Hermitte o aggiungi quanto segue al tuo .vimrc
autocmd filetype java :nnoremap <buffer> ; A;<esc>
Metti questo in ~ / .vim / after / ftplugin / java.vim
nnoremap <buffer> ; A;<Esc>
Ora questa mappatura dovrebbe essere locale solo per i buffer java
Come implementazione rapida, che dire di:
map ; $a;cntl-vESC
quindi premi Invio
Penserò di abilitarlo solo per i file Java.