Como configurar o zsh de forma que Ctrl+ Backspacemate a palavra antes do ponto? Como conseguir isso Ctrl+ Deletemata a palavra após ponto?
Eu uso o urxvt como emulador de terminal.
Como configurar o zsh de forma que Ctrl+ Backspacemate a palavra antes do ponto? Como conseguir isso Ctrl+ Deletemata a palavra após ponto?
Eu uso o urxvt como emulador de terminal.
Respostas:
Vou me concentrar em Ctrl+ Deleteprimeiro.
O comando zsh para excluir uma palavra inteira para a frente é chamado kill-word. Por padrão, está vinculado a Alt+ D.
O modo de fazer o Ctrl+ Deletedepende também do emulador de terminal que você está usando.
No meu sistema, isso funciona no xterm e no Gnome Terminal:
bindkey -M emacs '^[[3;5~' kill-word
e para urxvt, você deve fazer:
bindkey -M emacs '^[[3^' kill-word
Se isso não funcionar, tente digitar Ctrl+ V Ctrl+ Deletepara ver qual é o valor no seu sistema.
Você pode até adicionar os dois ao seu .zshrc, ou usar a saída em tput kDC5vez de codificar a sequência.
Ctrl+ Backspaceparece mais difícil.
No meu sistema, pressionar isso é o mesmo que pressionar apenas Backspace.
Se o seu for o mesmo, acho que sua melhor opção é usar Alt+ Backspaceou Ctrl+ W.
Ctrl + Backspacenão funciona
^[[3^do urxvt. Ctrl+V Ctrl+Deletemostraria isso a você.
'^[[3^' kill-word bindkeye '^H' backward-kill-wordao meu .zshrc. Agora funciona!
^Hou ^?vou trabalhar Ctrl+Backspace. De fato, parece que essa ligação não é possível. Alt+Backspaceou Ctrl+Wpodem ser substituições adequadas.
Eu tenho isso no meu .Xresources:
URxvt.keysym.C-BackSpace: \033[33~
e isso no meu .zshrc:
bindkey -M main -M viins -M vicmd '^[[33~' backward-kill-word
Isso mata cada palavra separada por espaço em branco. Observe que '^ [' é o caractere de escape. Você precisa xrdb -load .Xresourcesabrir um terminal e, em seguida, pressionar ^Vseguido de ^BackSpace.