有没有办法让 ^W 的行为与 shell 中空输入的 ^D 相同?我使用 zsh,但这也应该适用于 bash。否则它什么也不做(如果输入行已经被清除),这与 ^W 关闭其他 UI(即 Gtk、Web 浏览器)中的内容是一致的。
答案1
不能设置两个不同的字符来表示 EOF。styy
不会让你这么做的。
但是,对于本例来说这不是必需的。您可以简单地重新定义 Zsh 的内置backward-kill-word
小部件:
# Tell zsh to call a function with
# the same name whenever
# backward-kill-word is activated.
zle -N backward-kill-word
backward-kill-word() {
# Exit the shell if the command
# line is a zero-length string.
[[ -z "$BUFFER" ]] &&
exit
# Otherwise, call the original
# built-in widget.
zle .$0
}
阅读Zsh 行编辑器文档了解更多信息。