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
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.