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)?
Primero averigua qué secuencia genera.
echo "CtrlVFnDelete" | od -c
Luego, une esa secuencia usando el mecanismo normal de enlace zsh.
echo "~", tienes que seguir las instrucciones que Ignacio te dio. En mi sistema, es^[[3~(o comoodsalidas:)033 [ 3 ~. Entonces el comando sería elbindkey "^[[3~" delete-charque iría en tu~/.zshrc.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.0000000 C t r l V F n D e l e t e \n 0000016.Para mí, lo anterior no funcionó, así que agregué el siguiente enlace de teclas a mi
~/.zshrc:bindkey "\e[3~" delete-charFYI: Estoy en una Mac (High Sierra).
fuente
~/.zshrc.caty luego escribir las teclas.Fn+F1me da^[OPpor ejemplo.bindkey 'CtrlvFnDelete' delete-charEsto 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.fuente