在Terminal.app中的ctrl-o行为


16

我经常在bash中使用⌃+ O快捷方式(来自“学习bash Shell”):

[G] o回到[历史中的命令]并按⌃+ O而不是↩。这将执行命令并调出历史文件中的下一个命令。再次按⌃+ O键输入此命令并显示下一个命令。

看来这个快捷方式在OS X上不可用; ⌃+ O什么都不做。网页搜索提出了使用!bash内置的建议,但我不知道如何用它来完成与⌃+ 相同的事情O。

是否有可能以某种方式在OS X上的Terminal.app中获得⌃+ O行为?

Answers:


19

⌃+ O由于某种原因(可能与某些类型的串行连接上的流控制一起使用)设置为由终端驱动程序丢弃(即不是Terminal.app,而是它与它之间的操作系统部分)贝壳)。你可以用命令摆脱这个stty discard undef。要使此更改成为永久更改,请将此命令添加到.bash_profile和.bashrc文件中。


3

man bash可能有帮助。“READLINE”和“Readline Key Bindings”讨论了如何绑定可用的按键以及如何设置readline的默认值。

另外Bash Emacs编辑模式备忘单和在Bash的Vi命令行编辑模式(使用备忘单)中高效工作,如果你使用的是vi模式而不是默认的emacs,那么可以找出keypress的功能。在任何一种情况下,bind -P | grep found都会显示在vi模式下配置的键组合,bind -P并显示所有可用的组合。


2
哇,我不知道bash中有vi模式可用!这太可爱了。谢谢!
— Mike Mazur 2010年

2
当我发现它可用时,我也有同感。
— 格雷格2010年

我也是我:)
— Robert S Ciaccio 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.