Zsh 的 yank-pop 不起作用

Zsh 的 yank-pop 不起作用

狂欢,您可以删除单词 (Alt-Backspace) 或行 (Ctrl-k),然后使用 Cy 稍后将其拉回,并使用 Alt-y 循环删除。

现在当我使用,奇怪的是 Alt-y 不起作用(按下它时什么也没有发生),尽管我已将其设置为使用 emacs 键绑定(bindkey -e)。

有什么想法可以解决它吗?

zsh --version返回 4.3.12

bindkey | grep yank表明 yank-pop 已经绑定到 ^[y (Alt-y)。

更新:调试结果

A. 如何测试 Alt-y 是否不起作用?

  1. 我输入“abc”
  2. 我通过按来杀死它Alt-Backspace
  3. 我输入‘efg’
  4. 我再次按 Alt-Backspace 将其杀死
  5. 我按下Ctrl-y将其拉回 - 然后我得到了“efg”
  6. 我按下Alt-y- 我应该得到“abc”,但它仍然是“efg” - 什么也没有发生。

B.M-x yank-pop也不起作用。

C. 我运行zsh -fbindkey -e。然后我再次尝试调试过程 -这次成功了!

所以我想我的 .zshrc 一定有问题——我要把它一分为二。

还有一件事要提一下:我正在使用oh-my-ssh启用了以下插件的软件包:git django extract gem heroku history-substring-search pip rvm

感谢 Gilles 提供的zsh -f技巧 - 我没有意识到问题出在配置文件上。

答案1

在对我的进行二分分析后.zshrc,我发现问题出在oh-my-ssh插件上,即history-substring-search插件。

所以我禁用了它并且ALT+Y运行良好。

相关内容