由于 zsh 的一些更新,出现了 shell 的新行为。即现在,当我从缓冲区粘贴文本时(通过粘贴命令或通过第三个鼠标按钮——不管)它“选择”——插入文本的背景被突出显示,就像我选择了它一样。例如,如果我按下光标移动键,选择就会消失。
我在 konsole 终端 (KDE 5) 中使用 zsh。现在的程序版本是:
我的发行版是 Arch。
有没有机会回归旧的行为?
此功能是在zsh 5.1 版中引入的。您可以通过取消设置变量zle_bracketed_paste来禁用它:
unset zle_bracketed_paste
Run Code Online (Sandbox Code Playgroud)
注意:除了突出显示粘贴的文本(据我所知,实际上是由终端完成的)之外,它还可以防止ZLE解析特殊字符,如制表符和换行符。这意味着,例如,如果您粘贴多行文本,zsh不会自动(尝试)运行每一行,就好像它是一个命令一样,而是整个文本将作为一个整体粘贴,并带有文字制表符和换行符。
如果您想保持括号粘贴(导致此问题的功能)启用(它提高了安全性),可以通过将其添加到以下内容来简单地禁用粘贴文本的突出显示~/.zshrc:
zle_highlight=('paste:none')
Run Code Online (Sandbox Code Playgroud)