Macos Ctrl+;p在通过ssh的vi插入模式下导致bash临时挂起

Macos Ctrl+;p在通过ssh的vi插入模式下导致bash临时挂起,macos,bash,vim,ssh,Macos,Bash,Vim,Ssh,我最近在bash终端中切换到使用vi模式(set:o vi)。过去,我总是使用ctrl+p查看以前的命令,但由于某种原因,在切换到vi模式后,当我在插入模式下按ctrl+p时,bash会挂起大约20秒 注意,这只在ssh上发生。在本地,它只插入^P 有人知道为什么会发生这种情况,或者我如何破解它,从OSX终端删除ctrl+p快捷方式(我很高兴使用ESC,k,k,…) 感谢在插入模式下,^p被绑定到菜单向后完成,因此它将运行整个bash完成过程,这需要一段时间。如果要在命令历史记录中循环,则需要离

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

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

有人知道为什么会发生这种情况,或者我如何破解它,从OSX终端删除
ctrl+p
快捷方式(我很高兴使用
ESC,k,k,…

感谢

在插入模式下,^p被绑定到
菜单向后完成
,因此它将运行整个bash完成过程,这需要一段时间。如果要在命令历史记录中循环,则需要离开插入模式并使用k和j。您还可以将^P绑定到以前的历史记录

在bash的OS X版本中(使用BSD libedit而不是GNU readline),^p在插入模式下不起任何作用。

在插入模式下,^p绑定到
菜单“向后完成”
,因此它会在bash的整个完成过程中运行,这需要一段时间。如果要在命令历史记录中循环,则需要离开插入模式并使用k和j。您还可以将^P绑定到以前的历史记录


在bash的OS X版本中(使用BSD libedit而不是GNU readline),^p在插入模式下不起任何作用。

终端中的^p快捷方式是什么?哪个版本?嗯,
ctrl+p
通常适用于OSX中的
up
,因为它们使用emacs绑定的子集。我使用的是OSX版本10.6.8。问题似乎在于如何通过ssh发送密钥组合,因为它在本地的行为符合预期。终端中的^P快捷方式是什么?哪个版本?嗯,
ctrl+p
通常适用于OSX中的
up
,因为它们使用emacs绑定的子集。我使用的是OSX版本10.6.8。问题似乎在于如何通过ssh发送密钥组合,因为它在本地的行为符合预期。非常有用。谢谢你,乔希。我没有意识到您可以在bash vi模式中更改绑定。你是怎么做到的?非常有帮助。谢谢你,乔希。我没有意识到您可以在bash vi模式中更改绑定。你是怎么做到的?