1 votos

Los atajos estilo Emacs no funcionan en Terminal.app en Montery

Al escribir los comandos en el Terminal espero Ctrl + A para llevarme al principio de la línea y Ctrl + E hasta el final de la línea, aunque por alguna razón esto parece haber dejado de funcionar en algún momento (estoy bastante seguro de que lo hizo en el pasado). Otros atajos de la línea de comandos tampoco funcionan, aunque Ctrl + U lo hace.

En su lugar, la secuencia de teclas se inserta literalmente con un resaltado blanco. Al pulsar la tecla de retroceso se elimina el ^A pares de caracteres con una sola pulsación.

Screenshot of a Terminal window with Ctrl characters shown

Estoy usando ZSH en un Mac Mini M1 (2020) con Monterey 12.6 (21G115) y mis herramientas de línea de comandos están actualizadas.

Mi pregunta se parece a esto:

# Zsh prompt
prompt='%F{green}%2~ %#%f '
export prompt

He intentado alternar Usar la opción como meta clave en las preferencias de la Terminal, sin éxito. También tengo algunas modificaciones en ~/Library/KeyBindings/DefaultKeyBinding.dict pero he probado a quitarlos y tampoco ha servido de nada.

EDITAR

Gracias a Giles por ayudarme a encontrar una solución. Resulta que tenía lo siguiente en mi ~/.zshenv , poniéndome en modo vi.

EDITOR="nvim"
export EDITOR

Pude solucionar mi problema eliminando esas líneas, o añadiendo bindkey -e abajo.

0voto

staffan Puntos 3299

Esto parece un síntoma de que zsh está usando bindings tipo vi cuando se esperan bindings tipo emacs. Con los enlaces tipo vi, por defecto, la mayoría de los caracteres de control se insertan solos, pero Ctrl+U borra la línea (sin embargo, Ctrl+K se inserta, como Ctrl+A y Ctrl+E ).

Con las fijaciones en forma de vi, al pulsar Esc cambia al modo de comando vi, donde los caracteres ya no se insertan, sino que ejecutan comandos vi. Pulse i o a para volver al modo de inserción.

Zsh utiliza enlaces tipo vi si el EDITOR o VISUAL designa a vi. En su lugar, puede forzar los enlaces de tipo emacs poniendo la siguiente línea en su ~/.zshrc :

bindkey -e

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X