【问题标题】:Ctrl+p causing bash to temporarily hang when in vi insert mode over sshCtrl+p 在 vi​​ 插入模式下通过 ssh 导致 bash 暂时挂起
【发布时间】:2011-12-19 15:16:01
【问题描述】:

我最近在我的 bash 终端中切换到使用 vi 模式 (set :o vi)。过去,我一直使用ctrl+p 来查看以前的命令,但由于某种原因,切换到vi 模式后,当我在插入模式下按ctrl+p 时,bash 会挂起大约20 秒左右。

注意,这只发生在 ssh 上。在本地它只是插入^P

有谁知道为什么会这样,或者我可以如何破解它以从 OS X 终端中删除 ctrl+p 快捷方式(我很高兴使用 ESC, k, k,...)?

谢谢

【问题讨论】:

  • 终端中的 ^P 快捷方式是什么?哪个版本?
  • 好吧,ctrl+p 通常适用于 OS X 中的 up,因为它们使用 emacs 绑定的子集。我使用的是 OS X 版本 10.6.8。问题似乎在于如何通过 ssh 发送组合键,因为它在本地表现得如预期。

标签: macos bash vim ssh


【解决方案1】:

在插入模式下,^P 绑定到menu-complete-backward,所以它会运行整个 bash-completion,这需要一段时间。如果要循环浏览命令历史记录,则需要离开插入模式并使用 kj。您还可以将 ^P 绑定到 previous-history

在 OS X 版本的 bash(使用 BSD libedit 而不是 GNU readline)中,插入模式下的 ^P 不会做任何事情。

【讨论】:

  • 非常有帮助。谢谢乔希。我没有意识到您可以在 bash vi 模式下更改绑定。你是怎么做到的?
猜你喜欢
  • 2017-03-15
  • 2021-12-04
  • 1970-01-01
  • 1970-01-01
  • 2019-06-08
  • 1970-01-01
  • 2011-11-30
  • 2014-07-05
  • 2013-08-11
相关资源
最近更新 更多