最近 Mac (Lion を実行) を使い始めたのですが、気になる矛盾が 1 つあります。
CtrlChrome と MVim では、 + 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+[とCommand+ shift+だけであることが分かると思いますので、単に習慣を変えたほうがよいでしょう。]
答え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"
これにより、2つのキーバインド^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"