Me gustaría poder cambiar temporalmente del modo emacs al modo vi, ya que el modo vi es a veces mejor, pero normalmente estoy a la mitad escribiendo algo antes de darme cuenta de que quiero usar el modo vi.¿Hay alguna manera de cambiar Bash o zsh del modo Emacs al modo vi con una pulsación de tecla?
No quiero cambiar permanentemente al modo vi, porque normalmente prefiero el modo emacs en la línea de comandos, sobre todo porque es a lo que estoy acostumbrado, y con los años muchas de las teclas se han convertido en algo natural. (Como editor, generalmente uso emacs en el modo víbora, para poder usar ambos vi y emacs teclas, ya que me encontré accidentalmente usándolos en vi todo el tiempo, y arruinando cosas, y porque en algunos casos encuentro vi pulsaciones de teclas más memorables y útiles, y en otros casos emacs.)
Usted señor, es brillante. Sin embargo, todavía no funciona en zsh. Con algunos pequeños ajustes, puedo hacer que el indicador de modo funcione desde la línea de comandos: conjunto -o | grep 'vi. * on'> |/dev/null 2> & 1 && echo '[vi]' || echo '' Pero mi solicitud solo cambia cuando obtengo mi archivo .zshrc. (Todavía no he probado el indicador de modo en bash). – iconoclast
El editor de líneas Zsh no parece ser compatible con 'vi-editing-mode', solo 'vi-cmd-mode'. (Sin embargo, puede utilizar 'set -o vi' o 'bindkey -v' para obtener un modo vi completo). ^ xv está vinculado al modo vi-cmd en zsh de forma predeterminada. Solo dura la línea en la que se ejecuta, y solo presiona 'i' para salir, lo que lo vuelve a poner en modo emacs. Por el contrario, la solución bash dura hasta que cambie los modos explícitamente, y presionar 'i' lo pondrá en el modo de inserción vi. – iconoclast
Si coloca el '$ (comando)' en la definición de su variable 'PS1', el comando se evaluará inmediatamente; por lo tanto, su solicitud está estáticamente definida, y debe obtener su' ~/.zshrc' para regenerar el rápido. Si desea que su mensaje muestre dinámicamente una variable/comando, debe modificar la función 'precmd' que Zsh ejecuta antes de que se muestre el mensaje. Pon esto en tu zshrc para arreglar el indicador de modo: – jabirali