¿Es posible tener enlaces de teclas vim en la terminal?

42

Me estoy acostumbrando a los enlaces vim (como presionar w para ir a la palabra, dw para eliminar una palabra, y tal) y sus modos (insertar, normal, visual) y, por curiosidad, me gustaría saber: ¿hay alguna Qué tipo de implementación de este comportamiento de modos y enlaces desde vim a mi terminal?

Tener modo de inserción, modo normal y tal ...

Alguien todavía te usa MS-DOS
fuente

Respuestas:

46

Tiene modo de inserción y normal (el modo de inserción es el predeterminado, y escapa para el modo normal) pero no tiene modo visual.

En bash: set -o vipuede ejecutarlo en la línea de comandos solo para esta sesión o agregarlo a su archivo .bashrc.

Muchos programas usan readlinepara entrada, y puede hacer que cualquiera de ellos use las combinaciones de teclas de estilo vi configurando su .inputrccon

set editing-mode vi
set keymap vi

En zsh, si cambia su EDITORvariable de entorno, el shell lo igualará.

Shawn J. Goff
fuente
1
Con buena pinta. ¿Sabes si es posible tener algún tipo de .vimrc también, pero para estos usos? Por ejemplo, agregando diferentes asignaciones a <ESC> ...
Alguien todavía te usa MS-DOS el
2
@Somebody: no, .vimrcya que todavía está utilizando el editor incorporado del shell, pero puede configurar enlaces de teclas .inputrcpara todas las aplicaciones de línea de lectura (como bash), .bashrcespecíficamente para bash, .zshrcpara zsh.
Gilles 'SO- deja de ser malvado'
1
Checkout the bind builtin
Shawn J. Goff
3
Tenga en cuenta que en OS X, deberá colocar el put -o vi~ / .bash_profile en lugar de ~ / .bashrc.
Steve Jorgensen
66
Me doy cuenta de que la apariencia del cursor no cambia en los diferentes modos bash w / vi combinaciones de teclas. ¿Hay alguna manera de hacer que haga eso? Sería bueno tener una indicación visual de en qué modo estoy.
Steve Jorgensen