Asigne la tecla de escape a :q en vim en modo normal

Asigne la tecla de escape a :q en vim en modo normal

Utilizo vim como visor en Midnight Commandder y quiero ver y cerrar un archivo rápidamente. ¿Cómo puedo asignar la tecla de escape :qen modo normal para que vim salga solo si no se cambia nada?

Respuesta1

Para hacerlo solo para la vimsesión actual, escriba los siguientes comandos (en vim). (Se agregan espacios para mayor claridad. No escriba espacios excepto donde lo he indicado Space).

:mapSpaceCtrl+ VEscSpace:qCtrl+VEnterEnter

Para hacerlo sólo durante el resto de la sesión actual de Terminal, escriba los siguientes comandos (en Terminal; es decir, el shell). (Se agregan saltos de línea para mayor claridad. Escriba lo siguiente todo en una línea; no escriba Enterexcepto donde lo he indicado Enter).

E  X  I  N  I  T  =
"  :  m  a  p  Space  Ctrl+ V  Esc  Space  :  q  Ctrl+V  Enter  "  Enter

y luego

export EXINITEnter

Para hacer que los cambios sean “permanentes” (es decir, hasta que vuelva a cambiar los archivos), coloque los comandos anteriores ( EXINIT="…"y export EXINIT) en su .bash_profiley/o .bashrc. (Puedes juntarlos en la misma línea, separándolos con ;. Es posible que puedas acortarlo combinándolos en export EXINIT="…".) Esto no tendrá efecto hasta que inicies sesión nuevamente, o posiblemente hasta que inicies un nuevo shell, a menos que simplemente escriba los EXINITcomandos o sourceel archivo en el que puso los EXINITcomandos.

Nota:Si no está utilizando bash como su shell principal, es posible que deba modificar lo anterior para su shell.

Alternativamente, intente poner el :map …comando en su .exrcarchivo.


En caso de que esto no sea obvio,

:mapacuerda 1 cuerda 2

(en vi/ vim) crea un mapeo (traducción) para que, cuando escriba (en modo comando), el editor actúe como usted escribió . Y + es el personaje súper-escape que les cuenta a ambos /string1string2CtrlVvivim como el shell (de hecho, probablementetodoprogramas, o al menos la mayoría de ellos) que el siguiente carácter debe interpretarse como un carácter textual literal y no como un carácter de control. Tenga en cuenta que Ctrl+ Vseguido de Enter le proporciona un carácter de retorno de carro, que a menudo se muestra como ^M; pero, en a , eso se interpreta como un .:map string2Enter

información relacionada