我希望 Zsh 上的 ctrl-W 在遇到“/”字符时停止。我的 .zshrc 文件中有以下内容,但它不会停在“/”上。到底是怎么回事?
default-backward-delete-word () {
local WORDCHARS="*?_[]~=/&;!#$%^(){}<>"
zle backward-delete-word
}
zle -N default-backward-delete-word
bindkey '^W' default-backward-delete-word
Run Code Online (Sandbox Code Playgroud)
Ada*_*hon 12
问题是,这/是您的WORDCHARS.
根据zshparam(1):
字字符
<S>行编辑器认为是单词一部分的非字母数字字符列表。
所以如果你想让zsh考虑/作为单词分隔符,它不应该在WORDCHARS. 我还建议在定义它时使用单引号而不是双引号 - 特别是因为那里有一个$,这可能会导致不必要的扩展。
local WORDCHARS='*?_[]~=&;!#$%^(){}<>'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
923 次 |
| 最近记录: |