1 votos

Retroceder/avanar un enlace de palabras el comando de teclas no funciona en Nano 8.2

Estoy usando GNU Nano 8.2 en ZSH en macOS Sonoma y estoy tratando de averiguar por qué la combinación de teclas estándar para mover el cursor hacia atrás o hacia adelante una palabra, ^ + teclas de flecha, no funciona.

Esto sucede tanto en la aplicación Terminal predeterminada como en iTerm2. Estoy usando un teclado físico francés pero he intentado configurarlo tanto en francés como en teclado estadounidense.

Gracias

0voto

staffan Puntos 3299

Las versiones antiguas de Nano no admitían las combinaciones de teclas Ctrl+<em>flecha</em> de forma predeterminada, o no en todos los terminales. Las versiones recientes deberían funcionar. La versión incluida en macOS es una antigüedad 2.0.0 que no admite esas teclas y no admite combinaciones de teclas configurables, así que estás de mala suerte. Pero según la lista de paquetes, Ventura (13.0) dejó de incluir Nano.

Si has instalado Nano a través de Brew/Macports/Fink/..., asegúrate de que estás invocando ese y no el que viene con macOS. Ejecuta nano --version para verificar la versión de la instancia que estás llamando. En zsh, ejecuta

type -a nano

para ver dónde están los ejecutables de nano. Si esto muestra múltiples líneas, la que tiene efecto es la primera línea. Si la salida es algo como

nano is /bin/nano
nano is /opt/homebrew/bin/nano

entonces necesitas cambiar la forma en que buscas comandos. Ejecuta

print -lr $path

para listar tu ruta de búsqueda de comandos. Puedes cambiarlo modificando modificando PATH o path en tu ~/.zprofile.

Si tu Nano es lo suficientemente reciente (al menos 2.1.0) pero no reconoce Ctrl+<em>flecha</em>, puedes configurarlos en tu ~/.nanorc (ese es el archivo llamado .nanorc, con un punto inicial, en tu directorio de inicio). Descubre qué secuencias de escape envían esos acordes de teclas en tu terminal. (Consulta https://unix.stackexchange.com/questions/47312/control-and-up-down-keys-in-terminal-for-use-by-emacs/47402#47402 y https://superuser.com/questions/357355/how-can-i-get-controlleft-arrow-to-go-back-one-word-in-iterm2 para respuestas similares y https://unix.stackexchange.com/questions/116629/how-do-keyboard-input-and-text-output-work/116630#116630 para una explicación más detallada de las secuencias de escape). En el indicador de zsh, presiona Ctrl+V luego Ctrl+Izquierda luego Ctrl+C. Esto inserta múltiples caracteres, donde el primer caracter es el carácter de control Escape, representado visualmente como ^[ (a menudo en un color diferente). En tu .nanorc, necesitarás usar los dos caracteres ^[. Por ejemplo, si ves

^[[1;5D

(que es una secuencia de escape común para Ctrl+Izquierda, y creo que es la que tanto Terminal como iTerm2 envían de forma predeterminada), deberás pasar ^[[1;5D al comando bind en .nanorc. Repite para Ctrl+Derecha y cualquier otra tecla de cursor que quieras vincular. Puedes encontrar los nombres de comandos en el manual de nanorc (man nanorc en tu sistema). Así que tu nanorc debería contener:

bind ^[[1;5D prevword
bind ^[[1;5C nextword

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