You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

zsh中Ctrl+W删除最后单词功能异常,如何改为bash同款行为?

如何让zsh中Ctrl+W的删除行为与bash一致?

在zsh环境下,输入命令行字符串abc -def时,当前的Ctrl + W行为是:

  • 按一次Ctrl + W,仅删除def,剩余abc -
  • 按两次Ctrl + W,才会把abc -全部删除

而我们期望和bash一致的行为是:

  • 按一次Ctrl + W,直接删除-def,剩余abc
  • 按两次Ctrl + W,删除abc

解决方法

问题的根源在于zsh默认的WORDCHARS环境变量包含了-字符,导致zsh把-视为单词的一部分,而bash不会将-当作单词分隔符。只需把-从WORDCHARS中移除即可。

临时生效(当前会话)

在命令行执行以下命令:

WORDCHARS=${WORDCHARS//-}

永久生效(所有zsh会话)

编辑~/.zshrc文件,添加上述命令:

# 调整Ctrl+W的删除行为,与bash一致
WORDCHARS=${WORDCHARS//-}

保存文件后,执行source ~/.zshrc使配置立即生效,或重启终端即可。

验证

设置完成后,再次输入abc -def,按一次Ctrl + W就会删除-def,剩余abc;按第二次则会删除abc,和bash的行为完全一致。

内容的提问来源于stack exchange,提问作者ssppjj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 06:09:54