¿Cómo cambiar cómodamente al modo de comando vi en la línea de comando zsh?


22

En vi, he asignado 'jj' para escapar para poder cambiar al modo de comando sin usar la molesta tecla de escape. Ahora quiero tener lo mismo para la edición de línea de comandos para la que uso el modo vi. Ya he encontrado la siguiente solución:

bindkey '^j' vi-cmd-mode

le permite cambiar con control-j al modo comando. Todavía estoy buscando una solución sin teclas modificadoras como 'jj' o algo similar.


44
¿Por qué no simplemente reasignar Caps Lock to Escape?
kyrias

Respuestas:


30

Nota: debe buscar man zshzlemuchas ventajas sobre la personalización bindkeyy la emulación GNU readline.

Así es como me asigné jja Esc:

bindkey -M viins 'jj' vi-cmd-mode

Si está interesado en distinguir entre el modo de inserción y el modo normal, puede probar la sugerencia que Akira menciona aquí


¡Si! funciona perfectamente. ¡muchas gracias!
Eman Resu

¿Hay algún requisito previo que deba cumplirse antes de que esto funcione en zsh? ¿O formas de depurar las asociaciones de teclas? Después de insertar este comando, no pasa nada. jj todavía no funciona.
UltraMaster

55
Tenía KEYTIMEOUT demasiado bajo, esa era la razón.
UltraMaster

@Ultramaster hace un gran punto. Si ya está configurando KEYTIMEOUT para la velocidad, recomendaría> = 20 milisegundos. Tales comoexport KEYTIMEOUT=20
artesanía
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.