如何“完全”禁用 Midnight Commander 中的 Ctrl-O 快捷键?

如何“完全”禁用 Midnight Commander 中的 Ctrl-O 快捷键?

我喜欢使用 Midnight Commander 和 Vim。在 Vim 中,Ctrl-O是“转到上一个位置”命令,而在 MC 中,默认情况下,它在 shell 和面板之间切换。我希望能够从 MC 调用 Vim,并使用Ctrl-O来自 Vim 的命令,而无需 MC 拦截它并将我拉回面板视图。

我创建了一个~/.config/mc/mc.keymap包含以下内容的:

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

这让我半途而废,因为当我使用按键调用 Vim 时,它会禁用快捷方式F4。但是,如果我从输入行将 Vim 作为 shell 程序运行,然后按Ctrl-O,MC 仍然会拦截它。

我这里缺少配置选项吗?

笔记:我不愿意做以下任何事情:

  • 更改我的默认 Vim 键映射
  • 更改我的首选编辑器或文件管理器
  • 挖掘MC源代码,修补并重新编译

答案1

不,你没有忽视配置设置。它被硬编码在源文件中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;

仅在其中引用文件中的一处: 你注意到的情况。

相关内容