Ctrl+ Wİn zsh
gibi bir kelimeyi silmek istiyorum.
vim /foo/bar^W
vim /foo/
Ve bir çözüm buldu bash
, ama bind
zsh 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 zsh
gibi bir kelimeyi silmek istiyorum.
vim /foo/bar^W
vim /foo/
Ve bir çözüm buldu bash
, ama bind
zsh 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
~/.zshrc
ve mükemmel çalışıyor!
emacs
ZLE'deki varsayılan anahtar bağlama tablosu, ^ W backward-kill-word
yerine backward-delete-word
notu 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
^w
vb nokta, çizgi, üzerinde kırmaya~/.zshrc
zorunda 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-d
daha az kullanışlı hale getirir .
zsh 5.7 (x86_64-apple-darwin18.2.0)
.