Como configurar Ctrl + w como deletar palavra no zsh

8

Eu quero excluir uma palavra por Ctrl + W em zsh like.

vim /foo/bar^W
vim /foo/

E encontrou uma solução para bash , mas bind não está na função zsh.

É possível configurar ctrl-w ( apagar palavra)?

Como eu configuro Ctrl + W como delete-word ?

    
por ironsand 21.12.2015 / 12:21

2 respostas

9

Aqui está um trecho de .zshrc que tenho usado:

my-backward-delete-word() {
    local WORDCHARS=${WORDCHARS/\//}
    zle backward-delete-word
}
zle -N my-backward-delete-word
bindkey '^W' my-backward-delete-word

Eu lembro que essa foi a fonte original: link

    
por 21.12.2015 / 13:33
5

Apenas para sua informação, eu encontrei esta solução aqui para ser muito mais elegante. Cito:

Another option is to set WORDCHARS (non-alphanumeric chars treated as part of a word) to something that doesn't include /.

You can also tweak this if you'd prefer ^w to break on dot, underscore, etc. In ~/.zshrc I have:

WORDCHARS='*?_-.[]~=&;!#$%^(){}<>'
    
por 14.09.2017 / 14:33