Pregunta

Estoy tratando de configurar una asignación de clave vim que asignará la clave ';' a A; - es decir, quiero adjuntar automáticamente ';' hasta el final de la línea. Sin embargo, estoy teniendo dificultades para configurar este mapeo. También me gustaría limitar esto a solo archivos java si es posible. ¿Se puede hacer esto?

Gracias

¿Fue útil?

Solución

La asignación se realiza de esta manera:

:map ; A;<esc>

Recomendaría poner esta línea en tu .vimrc y vivir con ella (no debería molestarte, ya que la asignación solo funciona en el modo de comando). Si realmente debe restringir este comportamiento a ciertos archivos, debe buscar en la función autocmd (: help autocmd )

Otros consejos

Si desea restringir esta función a los buffers de Java, eche un vistazo a ftplugins. La asignación entonces se convierte en:

nnoremap <buffer> ; A;<esc>

Por cierto, recomendaría no asignar en '; ', ya que es un comando muy útil que se puede usar en otras asignaciones mal definidas (demasiados analizadores están usando : * map en lugar de : * noremap ).

Use ftplugins como dijo Luc Hermitte o agregue lo siguiente a su .vimrc

autocmd filetype java :nnoremap <buffer> ; A;<esc>

Ponga esto en ~ / .vim / after / ftplugin / java.vim

nnoremap <buffer> ; A;<Esc>

Ahora, esta asignación debe ser local solo para búferes de Java

Como una implementación rápida, ¿qué pasa con:

map ; $a;cntl-vESC

luego pulsa retorno

Voy a pensar en habilitar esto solo para archivos Java.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top