zsh中Ctrl+Y仅粘贴最后一个Ctrl+W剪切单词的参数求助
解决zsh中Ctrl+W多次剪切后Ctrl+Y无法粘贴全部内容的问题
太懂这种操作习惯被打破的不爽了!之前在Debian用zsh+oh-my-zsh时,连续按Ctrl+W剪好几个单词,Ctrl+Y一下就能全粘出来,换Mac后居然只能拿到最后一个,确实闹心。
这个差异的核心在于zsh的剪切环(kill ring)行为配置,负责控制这个逻辑的是zsh的append-cut-text选项,以及对应的按键绑定设置。
具体解决方法:
- 打开你的zsh配置文件
~/.zshrc(用你常用的编辑器就行,比如vim ~/.zshrc) - 在文件里添加下面这行配置:
要是你想更精准只针对Ctrl+W对应的# 让连续的Ctrl+W剪切操作把内容追加到同一个剪切缓冲区,而不是每次都覆盖 zstyle ':zle:*' append-cut-text yeskill-word操作,也可以改成:zstyle ':zle:kill-word' append-cut-text yes - 保存文件后,在终端执行
source ~/.zshrc让配置立刻生效
设置完之后,你再连续按Ctrl+W剪切多个单词,Ctrl+Y就能一次性把所有内容粘贴出来了,和你在Debian上的操作体验完全一致。
对了,额外提一句:如果之后你需要循环粘贴剪切环里的不同内容,可以按Alt+Y(也就是Meta+Y)来切换,这是zsh剪切环自带的循环粘贴快捷键,偶尔会用到。
内容的提问来源于stack exchange,提问作者audioslave
相关产品推荐
相关产品推荐

