Pergunta
Eu estou tentando configurar um mapeamento de teclas vim que irá mapear a tecla ';' a A; - ou seja, eu quero auto append ';' para o fim da linha. No entanto, eu estou tendo dificuldade em estabelecer esse mapeamento para cima. Eu também gostaria de limitar isso para apenas arquivos java, se possível. isso pode ser feito?
Graças
Solução
O mapeamento em si é feito desta maneira:
:map ; A;<esc>
Eu recomendo colocar esta linha em seu .vimrc e viver com ele (que não deve incomodá-lo, uma vez que o mapeamento só funciona no modo de comando). Se você realmente deve restringir esse comportamento para determinados arquivos, você precisa olhar para a função autocmd
(:help autocmd
)
Outras dicas
Se você quiser restringir esse recurso para buffers java, ter um olhar para ftplugins. O mapeamento torna-se então:
nnoremap <buffer> ; A;<esc>
BTW, gostaria de aconselhar contra mapeamento on ';
' como é um comando muito útil que pode ser usado em outros mapeamentos mal definidas (muitas vimmers estiver usando :*map
vez de :*noremap
).
Use ftplugins como Luc Hermitte disse ou adicionar o seguinte ao seu .vimrc
autocmd filetype java :nnoremap <buffer> ; A;<esc>
Coloque este em ~ / .vim / depois / ftplugin / java.vim
nnoremap <buffer> ; A;<Esc>
Agora, este mapeamento deve ser local para buffers Java somente
Como uma implementação rápida, o que acontece:
map ; $a;cntl-vESC
retorno em seguida, bateu
Eu vou ter um pensar sobre como ativar este for Java apenas arquivos.