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

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top