web-dev-qa-db-ja.com

Midnight CommanderでCtrl-Oショートカットを*完全に*無効にするにはどうすればよいですか?

MidnightCommanderとVimの両方を使用するのが好きです。 Vimでは、 Ctrl-O は「前の位置に移動」コマンドであり、MCでは、デフォルトで、シェルとパネルを切り替えます。 MCからVimに電話して使用できるようにしたい Ctrl-O MCがそれを傍受してパネルビューに戻ることなくVimから。

次の内容で~/.config/mc/mc.keymapを作成しました。

[main]
Shell =
[viewer]
Shell =
[diffviewer]
Shell =
[editor]
Shell =

これは、Vimを使用してVimを呼び出すときにショートカットを無効にするという点で、中途半端になります。 F4 キー。ただし、Vimをシェルプログラムとして入力行から実行し、を押した場合 Ctrl-O、MCはまだそれを傍受します。

ここに欠けている構成オプションはありますか?

注:次のいずれかを行うのは気が進まない:

  • デフォルトのVimキーマッピングを変更する
  • 好みのエディターまたはファイルマネージャーを変更する
  • MCソースコードを掘り下げ、パッチを適用し、再コンパイルします
7
Mihai

いいえ、構成設定を見落としていません。ソースファイル src/subshel​​l/common.c に、構成可能に「できる」変数としてハードコーディングされていますが、次のようにはなりません。

/* The key for switching back to MC from the subshell */
/* *INDENT-OFF* */
static const char subshell_switch_key = XCTRL ('o') & 255;

ファイル内の1つの場所 :あなたが気付いたケースでのみ参照されます。

2
Thomas Dickey