Answers:
您可以使用该⌥键,但是必须选择将其用作“元”键的选项:
完成后,⌥+ F和⌥+ B将按预期工作。
这也让我发疯,但是我不想使用终端专用的修复程序,因为我不使用终端,并且能够通过SSH进入OSX盒也必须使用正确的键绑定。
另外,就我个人而言,我并不关心⌥前面讨论的密钥;我想保持我在Linux上习惯的ctrl+ ←/ →组合。
为了解决这个问题,我在我的内容中添加了以下内容~/.profile
:
bind '"\e[5C": forward-word'
bind '"\e[5D": backward-word'
bind '"\e[1;5C": forward-word'
bind '"\e[1;5D": backward-word'
注意前两个适用于Terminal中的 bash ; 最后两个适用于iTerm2中的 bash 和传入的ssh连接。不要问我为什么键盘仿真是不同的;)
作为记录,由于此stackoverflow答案的提示,我能够找到实际的键码:您可以运行cat > /dev/null
以监视在组合键期间发送的确切键码。
(请注意,对我来说,当我运行cat > /dev/null
并按ctrl+时←,会产生^[[1;5D
。您的确切密码可能有所不同,但第一个^[
表示为\e
,如我的示例代码所示。)
顺便说一句,如果您想查看所有活动的bash绑定,请运行bind -p
。
xxd
检查键盘输入。您可以在键入时看到显示的字符,然后xxd
在键入return时以十六进制形式发出值。
如果您知道如何使用vi,也可以set -o vi
在您.bash_profile
的命令行中或随时使用来打开vi行编辑模式。然后可以在vi命令和插入模式之间切换。因此,您可以按Escape键,然后使用vi命令浏览该行:
0 = move to beginning of line
$ = move to end of line
w = move forward one word
b = move backward one word
一旦到达正确的位置,就可以使用其他vi命令进入插入或追加模式,或一一删除字符,等等。
ESC ^
当您确实需要它时,它很棒,当您完全想要做其他事情时,这只会很烦人:)