CmderにはAttach
という機能があり、
その機能を使うと、他のアプリケーションをCmderのウィンドウ内で使うことができます。
大変便利なのですが、アプリケーションをAtattchすると、Cmderのショートカットキーが利用できなくなります。 これはCmderの仕様なのでどうしようもありません。
ただ、タブやペイン間の移動はショートカットキーで何とかしたいというのが正直なところです。
完全な解決策ではありませんが、解決方法があります。とても簡単です。
Cmderの設定
Settings
を開き、Keys & Macro
を選択します。
Hotkeyの設定が表示されますので、右上の検索ボックスにchild
を入力します。
すると結果に"Switch focus between ConEmu ..."といった設定が表示されます。 この設定のショートカットキーを設定してください。
私の場合は、Ctrl + S
を設定しました。コマンドラインや、vimに影響が少なく、なお且つ押しやすいためです。
そして、Save settings
で設定を保存します。
この設定はCmderに表示されているアプリケーション(ChildGui)から、 Cmder自体にフォーカスするショートカットキーです。 つまり、Cmderの内側にあるアプリケーションから、強制的にCmderのショートカットを受付待ちにさせることができます。
ですので、ショートカットキー(ここではCtrl + S
)を押した直後は、
Cmderのショートカットキーを利用することができます。
ちなみに、CmderはConEmuをベースにしていますので、ConEmuでも同様の設定で対応可能です。
使い方
基本的にタブ移動であってもペイン移動を使って対応します。
Cmderでminttyを表示している時に、Ctrl + S
(先ほど指定したショートカットキー)を押してから、
Ctrl + (num)
を押します。
Ctrl + (num)
はCmder内でデフォルトで定義されているショートカットキーです。
指定した番号のコンソールをアクティブ、つまり表示してくれます。
例えば1番目のペインならば、Ctrl + S
、Ctrl + 1
の順に押します。
ショートカットキーがCtrl
を含んでいるならば押したままで大丈夫です。
今回設定したキーを例と同じ設定にした場合、Ctrl
を押したまま、
S → 1
の順で押すとスムーズにペインを切り替えることができます。
おまけ
コンソールの番号はタブバーの右端のメニューに表示されているのですが、少し分かりづらいです。 Cmderで開いているタブにコンソールの番号を表示させてみましょう。
Settings
を開き、Main
のTab bar
を選択します。
Tab templates
のConsole:
という設定ボックスに%c.
を追加します。
参考
ConEmu - ChildGuihttp://conemu.github.io/en/ChildGui.html