Enlace Fn-Delete en zsh en Mac OS X


22

En zsh, cada vez que presiono Fn + Delete (que es la eliminación hacia adelante) se inserta una tilde (~). Esto indica que zsh no tiene la clave vinculada.

¿Cómo lo ato y hago que se comporte normalmente (eliminar delante del cursor)?

Respuestas:


20

Primero averigua qué secuencia genera.

echo "CtrlVFnDelete" | od -c

Luego, une esa secuencia usando el mecanismo normal de enlace zsh.


1
~> echo "~" | od -c 0000000 ~ \ n 0000002 ~> ¿Qué hago ahora con esta información?
Thomas R

10
@rixth: en realidad no está produciendo solo una tilde. No puedes usar echo "~", tienes que seguir las instrucciones que Ignacio te dio. En mi sistema, es ^[[3~(o como odsalidas:) 033 [ 3 ~. Entonces el comando sería el bindkey "^[[3~" delete-charque iría en tu ~/.zshrc.
Pausado hasta nuevo aviso.

2
Para aclarar lo anterior, ctrl-vhay una secuencia de escape especial que significa "insertar el siguiente carácter que presiono como un carácter literal sin escape, en lugar de hacer lo que generalmente hace". Lo que significa que no se convierte ~, sino que permanece como la secuencia de escape.
NHDaly

No entiendo cómo usar la salida de lo anterior para derivar el bindkey. Mi salida es 0000000 C t r l V F n D e l e t e \n 0000016.
Oliver Joseph Ash

4

Para mí, lo anterior no funcionó, así que agregué el siguiente enlace de teclas a mi ~/.zshrc:

bindkey "\e[3~" delete-char

FYI: Estoy en una Mac (High Sierra).


¿Y cómo saber el código para cualquier otra clave que quiera vincular, por ejemplo, Fn + F1? para poder configurar los códigos correspondientes en mi ~/.zshrc.
alexventuraio

1
Puede escribir caty luego escribir las teclas. Fn+F1me da ^[OPpor ejemplo.
LordTribual

1

bindkey 'CtrlvFnDelete' delete-char

Esto vinculará Fn+ Deletepara eliminar hacia adelante un solo carácter. Si lo anterior no está claro, debe escribir Ctrl+ v, Fn+ Deleteentre escribir las comillas. Ctrl+ le vpermite escribir la secuencia literal de escape de cualquier tecla que venga después.

Puede poner esta línea en su ~/.zshrcarchivo.

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.