对此进行了一些研究,我知道选项+左箭头和选项+右箭头默认情况下不会在OS X终端应用程序中按单词移动。但我的却做到了,直到大约一周前。
唯一改变的是 oh-my-zsh 更新了。我看到它有
bindkey "^[[1;5C" forward-word
bindkey "^[[1;5D" backward-word
已定义,但我不知道这些键是什么。 GitHub 最后一次记录的文件更改是在 24 天前,并且与这些密钥无关,因此这必须早于最新更新。
我还尝试了“首选项”>“设置”>“键盘”下的“使用选项作为元键”选项。当我点击选项+左箭头和选项+右箭头时,只会打印
[D
和
[C
。
Terminal.app > preferences > Settings > Keyboard
中有一个按键->操作列表。
option cursor left
和
option cursor right
并将其值分别设置为
\033b
和
\033f
。
就我而言,在终端(和 Vscode IDE 集成终端)中,仅
Left Option + Left/Right arrow
按单词移动,而
Left Control + Left/Right arrow
插入丑陋的
;5D
和
;5C
。这是解决这个问题的
Karabiner规则
{
"description": "Change 'Control + Left/Right' to 'Option + Left/Right'",
"manipulators": [
{
"from": {
"key_code": "left_arrow",
"modifiers": {
"mandatory": ["left_control"],
"optional": ["any"]
}
},
"to": [
{
"key_code": "left_arrow",
"modifiers": ["left_option"]
}
],
"type": "basic"
},
{
"from": {
"key_code": "right_arrow",
"modifiers": {
"mandatory": ["left_control"],
"optional": ["any"]
}
},
"to": [
{
"key_code": "right_arrow",
"modifiers": ["left_option"]
}
],
"type": "basic"
}
]
}
您可以在 Karabiner UI 中添加此规则,如下所示: