Quero excluir uma palavra com Ctrl+ Wno zshlike.
vim /foo/bar^W
vim /foo/
E encontrou uma solução para bash, mas bindnão está na função zsh.
É possível configurar ctrl-w (excluir palavra)?
Como posso configurar o Ctrl+ Wcomo delete-word?
Quero excluir uma palavra com Ctrl+ Wno zshlike.
vim /foo/bar^W
vim /foo/
E encontrou uma solução para bash, mas bindnão está na função zsh.
É possível configurar ctrl-w (excluir palavra)?
Como posso configurar o Ctrl+ Wcomo delete-word?
Respostas:
Aqui está um trecho de .zshrc que estou usando:
my-backward-delete-word() {
local WORDCHARS=${WORDCHARS/\//}
zle backward-delete-word
}
zle -N my-backward-delete-word
bindkey '^W' my-backward-delete-word
Lembro que essa era a fonte original: http://www.zsh.org/mla/users/2001/msg00870.html
~/.zshrce ele funciona perfeitamente!
emacstabela de ligação de teclas padrão no ZLE vincula ^ W para, em backward-kill-wordvez de para backward-delete-word, note.
Apenas para sua informação, achei esta solução aqui muito mais elegante. Eu cito:
Outra opção é definir
WORDCHARS(caracteres não alfanuméricos tratados como parte de uma palavra) como algo que não inclui/.Você também pode ajustar isso se preferir
^wquebrar pontos, sublinhado, etc. Em~/.zshrcEu tenho:WORDCHARS='*?_-.[]~=&;!#$%^(){}<>'
Como o @Patryk apontou nos comentários abaixo, isso não funciona ZSH >= 5.7. Aqui está uma atualização que eu testei e trabalho zsh 5.8 (x86_64-apple-darwin18.7.0).
autoload -U select-word-style
select-word-style bash
export WORDCHARS='.-'
M-dmenos útil.
zsh 5.7 (x86_64-apple-darwin18.2.0).