我很习惯使用 Ctrl + A, Ctrl + E, Ctrl + L 等作为操作的快捷方式(行首、行尾、清除终端等)。我一生都无法在 OS 10.5 上使用 Terminal.app 或 iTerm 来实现此功能。
我知道它在 Tiger 中有效,我什至知道其他一些 Leopard 用户没有任何问题,但是当我尝试使用控制键时,它只打印文字结果(例如 - ^ A
) 到屏幕。
我的相关环境变量:
TERM=linux (have also tried xterm-color)
SHELL=/bin/bash
COMMAND_MODE=unix2003 (have also tried legacy)
有什么想法吗?
最佳答案
- 确保你有一个名为 ~/.inputrc 的文件(如果这个文件不存在,bash 应该使用/etc/inputrc 进行系统范围的初始化,但我总是更喜欢明确的)
如果您想要令人作呕的 emacs voodoo 绑定(bind)而不是甜美、干净的 vi,请在该文件中:
设置-o emacs 设置 emacs 编辑模式
在上面,请记住 emacs 模式是默认模式,但你永远不会因为明确而受到伤害......
再说一次,你说你正在使用 bash,所以运行:
绑定(bind)-p
在 shell 提示符处确保您拥有您认为拥有的绑定(bind)
最后,由于它是 OSX,请检查以确保您拥有 readline 库(这就是您获取所有这些内容的方式。)同样,默认情况下它应该存在,但也许不是。
检查 Terminal.app 程序中的术语设置(首选项 > 高级 > 仿真)
事实上,当您在其他地方 ssh 时您的设备可以工作,这意味着存在本地问题。
祝你好运。
关于macos - Leopard 终端(和 iTerm)忽略控制组合键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/951361/