我已经使用zsh
withoh-my-zsh
近三年了,主要是在 Debian 系统上。
我正在使用ctrlw并且ctrly很多。三个星期以来,我的工作站都是 MacBook,我也一直在使用zsh
它oh-my-zsh
。但有一个尴尬的行为。
当我使用 向后剪切多个单词ctrlw并尝试使用 猛拉剪切的单词时ctrly,仅粘贴最后一个剪切的单词。据我所知,ctrly最后删掉的词都被拉了。
谁能告诉我,哪个参数负责?
编辑:'^W' 绑定到向后终止字。不应该是向后删除单词吗?
编辑2:好的,我发现 zsh-autosuggestions 是造成这种情况的原因。禁用此 ctrl^w 和 ctrl^y 后,将按预期工作。我认为,我必须深入研究 zsh-autosuggestions 配置才能获取更改行为的参数。
编辑3:当 zsh-autosuggestions 启用时zle -lLa backward-kill-word
返回此
zle -N backward-kill-word _zsh_autosuggest_bound_1_backward-kill-word
并which _zsh_autosuggest_bound_1_backward-kill-word
返回
_zsh_autosuggest_bound_1_backward-kill-word () {
_zsh_autosuggest_widget_modify autosuggest-orig-1-backward-kill-word $@}
我对 zsh 不太了解,所以我不知道这到底意味着什么。但我的猜测是,zsh-autosuggestions 有点“覆盖”backward-kill-word 的默认功能,对吗?
答案1
好的,我发现 zsh-autosuggestions 是造成这种情况的原因。禁用此 ctrl^w 和 ctrl^y 后,将按预期工作。我认为,我必须深入研究 zsh-autosuggestions 配置才能获取更改行为的参数。
答案2
添加
bindkey "^W" kill-region
到你的.zshrc
文件,然后运行source .zshrc
,我想你会得到 emacs 的行为。