zsh kill Ctrl + Backspace, Ctrl + Delete

8

Como configurar o zsh de forma que Ctrl + Backspace mate a palavra antes do ponto? Como conseguir isso Ctrl + Excluir mata a palavra após o ponto?

Eu uso o urxvt como emulador de terminal.

    
por student 07.05.2011 / 11:08

3 respostas

7

Vou me concentrar em Ctrl + Excluir primeiro.

O comando zsh para excluir uma palavra inteira é chamado kill-word . Por padrão, ele está ligado a Alt + D .

Como fazer Ctrl + Excluir isso também depende de qual emulador de terminal você está usando.

No meu sistema, isso funciona no terminal xterm e Gnome:

bindkey -M emacs '^[[3;5~' kill-word

e para o urxvt, você deve fazer:

bindkey -M emacs '^[[3^' kill-word

Se isso não funcionar, tente digitar Ctrl + V Ctrl + Apagar para ver o que o valor está no seu sistema.

Você pode até adicionar os dois juntos ao seu .zshrc ou usar a saída de tput kDC5 em vez de codificar a sequência.

Ctrl + Backspace parece mais difícil.

No meu sistema, pressionar isso é o mesmo que pressionar apenas Backspace .

Se o seu é o mesmo, acho que sua melhor opção é usar Alt + Backspace ou Ctrl + W em vez disso.

    
por 07.05.2011 / 11:29
2

Eu tenho isso no meu .Xresources :

URxvt.keysym.C-BackSpace:       3[33~

e no meu .zshrc :

bindkey -M main -M viins -M vicmd   '^[[33~'    backward-kill-word

Isso mata cada palavra separada do espaço em branco. Note que '^ [' é o caractere de escape. Você tem que xrdb -load .Xresources , abra um terminal e depois pressione ^V seguido por ^BackSpace .

    
por 31.05.2012 / 13:03
0

No urxvt, para a exclusão da parte anterior, eu simplesmente tenho no meu .zshrc o seguinte:

bindkey '^H' backward-kill-word

e isso me permite apagar a palavra anterior com ctrl + backspace

    
por 10.10.2018 / 19:08