Ctrl+ Wİn zshgibi bir kelimeyi silmek istiyorum.
vim /foo/bar^W
vim /foo/
Ve bir çözüm buldu bash, ama bindzsh işlevinde değil.
Ctrl-w (sözcüğü sil) yapılandırmak mümkün mü?
Nasıl yapılandırabilirsiniz Ctrl+ Wbir şekilde delete-word?
Ctrl+ Wİn zshgibi bir kelimeyi silmek istiyorum.
vim /foo/bar^W
vim /foo/
Ve bir çözüm buldu bash, ama bindzsh işlevinde değil.
Ctrl-w (sözcüğü sil) yapılandırmak mümkün mü?
Nasıl yapılandırabilirsiniz Ctrl+ Wbir şekilde delete-word?
Yanıtlar:
İşte kullandığım .zshrc bir pasaj :
my-backward-delete-word() {
local WORDCHARS=${WORDCHARS/\//}
zle backward-delete-word
}
zle -N my-backward-delete-word
bindkey '^W' my-backward-delete-word
Bunun orijinal kaynak olduğunu hatırlıyorum: http://www.zsh.org/mla/users/2001/msg00870.html
~/.zshrcve mükemmel çalışıyor!
emacsZLE'deki varsayılan anahtar bağlama tablosu, ^ W backward-kill-wordyerine backward-delete-wordnotu bağlar .
Bilginiz olsun, ben bu çözüm buldum burada çok daha şık olması. Alıntı yaparım:
Başka bir seçenek,
WORDCHARS(bir sözcüğün parçası olarak işlenen alfasayısal olmayan karakterler) içermeyen bir şeye ayarlamaktır/.Dilerseniz Ayrıca bu çimdik
^wvb nokta, çizgi, üzerinde kırmaya~/.zshrczorunda I:WORDCHARS='*?_-.[]~=&;!#$%^(){}<>'
@Patryk aşağıdaki yorumlara işaret ettiği gibi, bu işe yaramıyor ZSH >= 5.7. İşte test ettiğim ve üzerinde çalıştığım bir güncelleme zsh 5.8 (x86_64-apple-darwin18.7.0).
autoload -U select-word-style
select-word-style bash
export WORDCHARS='.-'
M-ddaha az kullanışlı hale getirir .
zsh 5.7 (x86_64-apple-darwin18.2.0).