2010-11-07 15 views

Respuesta

10

Vim permite añadir asignaciones de teclas para los comandos en todos los modos, incluyendo el modo de línea de comandos, por lo que puede definir estas asignaciones (en su .vimrc):

:cnoreabbrev wq w<bar>bd 
:cnoreabbrev q bd 

Los comandos indican Vim que al presionar wq en la línea de comandos se debe ampliar en w|bd y, de manera similar, q en bd. Ver :help key-mapping para más detalles.

+13

-1. ¡Por favor, no use 'cnoremap' para eso! Esto ampliará q en cualquier comando. Por ejemplo ': set cscopequickfix' se ampliará a': set cscopebduickfix'. Use ': cnoreabbrev' en su lugar! Ver la ayuda para eso. – Benoit

+0

Tu primer cnoremap no funcionará. La línea le dice a Vim que reasigne el modo de comando wq a w, y luego cierre el búfer en uso - no vuelva a enlazar wq con w | bd. Las quejas de Benoits también son válidas; sin embargo, puede hacerlo: cnoremap wq w bd - esto funcionará como se esperaba. – Sarah

+4

Sarah, no. Aún 'cnoreabbrev' es mejor porque si quiere escribir su archivo como' cualquier cosa que termine con wq', la abreviatura no se activará a menos que el nombre del archivo sea exactamente wq. – Benoit

Cuestiones relacionadas