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

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top