¿Cómo configurar zsh de modo que Ctrl+ Backspacemate la palabra antes del punto? ¿Cómo lograr eso Ctrl+ Deletemata la palabra después del punto?
Yo uso urxvt como emulador de terminal.
¿Cómo configurar zsh de modo que Ctrl+ Backspacemate la palabra antes del punto? ¿Cómo lograr eso Ctrl+ Deletemata la palabra después del punto?
Yo uso urxvt como emulador de terminal.
Respuestas:
Me enfocaré en Ctrl+ Deleteprimero.
Se llama al comando zsh para eliminar una palabra completa hacia adelante kill-word
. Por defecto está vinculado a Alt+ D.
Cómo hacer Ctrl+ Deletehacerlo también depende del emulador de terminal que esté utilizando.
En mi sistema, esto funciona en xterm y Gnome Terminal:
bindkey -M emacs '^[[3;5~' kill-word
y para urxvt, debes hacer:
bindkey -M emacs '^[[3^' kill-word
Si eso no funciona, intente escribir Ctrl+ V Ctrl+ Deletepara ver cuál es el valor en su sistema.
Incluso podría agregar ambos a su conjunto .zshrc
, o usar la salida de en tput kDC5
lugar de codificar la secuencia.
Ctrl+ Backspaceparece más difícil.
En mi sistema, presionar eso es lo mismo que presionar solo Backspace.
Si el suyo es el mismo, creo que su mejor opción es usar Alt+ Backspaceo Ctrl+ en su Wlugar.
Ctrl + Backspace
no funciona
^[[3^
urxvt. Ctrl+V
Ctrl+Delete
te mostraría esto.
'^[[3^' kill-word bindkey
y '^H' backward-kill-word
mi .zshrc. ¡Ahora funciona!
^H
o ^?
trabajaré para eso Ctrl+Backspace
. De hecho, parece que tal enlace no es posible. Alt+Backspace
o Ctrl+W
podrían ser reemplazos adecuados.
Tengo esto en mi .Xresources
:
URxvt.keysym.C-BackSpace: \033[33~
y eso en mi .zshrc
:
bindkey -M main -M viins -M vicmd '^[[33~' backward-kill-word
Esto mata cada palabra separada por espacios en blanco. Tenga en cuenta que '^ [' es el carácter de escape. Tienes que xrdb -load .Xresources
abrir una terminal y luego presionar ^V
seguido de ^BackSpace
.