我最近开始使用 Mac(运行 Lion),但有一个不一致之处令我感到困扰。
在 Chrome 和 MVim 中,我可以使用Ctrl+ PageUp/切换选项卡PageDown。但是在终端中,我必须使用Cmd+ Shift+ Left/ Right。
我想将后者改为Ctrl+ PageUp/ PageDown,但似乎无法做到这一点。
当我进入系统偏好设置 → 键盘 → 键盘快捷键 → 应用程序快捷键,并向终端的“选择下一个选项卡”添加快捷方式时,我可以将其设置为几乎任何内容,只要它不包含 PageUp/PageDown 键。
为什么会有这样的限制?我可以绕过它吗?
答案1
defaults write -g NSUserKeyEquivalents -dict-add "Select Previous Tab" "^\UF72C" "Previous Tab" "^\UF72C" "Previous Workspace" "^\UF72C" "Select Next Tab" "^\UF72D" "Next Tab" "^\UF72D" "Next Workspace" "^\UF72D"
-g
修改~/Library/Preferences/.GlobalPreferences.plist
。您需要重新打开应用程序才能应用更改,并且手动添加的快捷方式不会显示在应用程序快捷方式。
答案2
您可以使用 iTerm,因为它具有更灵活的快捷方式系统,但您不可避免地会遇到无法按您想要的方式工作的另一个应用程序。
我认为您会发现Command++和++是切换选项卡shift的唯一一致的快捷键,最好简单地改变您的习惯。[Commandshift]
答案3
Lri 的答案有效(并且 FWIW,我赞同它),但采用了一种散弹枪式的方法:它创建全局设置(而不是特定于终端的设置),并且它设置的一些内容实际上对终端根本没有影响——我实际上不知道它们是做什么用的。
如果您和我一样,有点偏执并且更喜欢采用更“外科手术”的方法,那么这里有 Lri 答案的修改版本:
defaults write com.apple.Terminal NSUserKeyEquivalents -dict-add "Select Previous Tab" "^\UF72C"
defaults write com.apple.Terminal NSUserKeyEquivalents -dict-add "Select Next Tab" "^\UF72D"
这只添加了两个键绑定,^PageUp
和^PageDown
,并将它们添加仅有的到终端。
答案4
仍然适用于 MacOS Sonoma (14.0):
defaults write com.apple.Terminal NSUserKeyEquivalents -dict-add "Show Next Tab" "^\UF72D"
defaults write com.apple.Terminal NSUserKeyEquivalents -dict-add "Show Previous Tab" "^\UF72C"