![Asigne la tecla de escape a :q en vim en modo normal](https://rvso.com/image/1449094/Asigne%20la%20tecla%20de%20escape%20a%20%3Aq%20en%20vim%20en%20modo%20normal.png)
Utilizo vim como visor en Midnight Commandder y quiero ver y cerrar un archivo rápidamente. ¿Cómo puedo asignar la tecla de escape :q
en modo normal para que vim salga solo si no se cambia nada?
Respuesta1
Para hacerlo solo para la vim
sesión actual, escriba los siguientes comandos (en vim
). (Se agregan espacios para mayor claridad. No escriba espacios excepto donde lo he indicado Space).
: m a p Space Ctrl+ V Esc Space : q Ctrl+V Enter Enter
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 EXINIT
Enter
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_profile
y/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 EXINIT
comandos o source
el archivo en el que puso los EXINIT
comandos.
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 .exrc
archivo.
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 /string1
string2
CtrlVvi
vim
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
string2
Enter