我喜欢午夜指挥官。可能与 90 年代初在俄罗斯使用 DOS 机器有关,但现在我真的很喜欢命令行与两面板文件列表的集成。一个关键特性是 Ctrl+Enter 将当前选择的文件或目录的名称复制到命令行中,而不启动它。
不幸的是,在 Fedora(26 和 27)上,这在 Konsole 中失败了,显然在所有其他基于 X 的终端中也是如此。它确实在虚拟控制台中工作,我按 Ctrl-Alt-F3 得到 py。
在 OpenSuse Leap(42.1、42.2、42.3)上,Ctrl+Enter 功能完美运行。我想不出任何区别。(我在两者上都使用 KDE,据我所知,这意味着在 Fedora 上我有 X.org,而不是 Wayland)。
如何让 Ctrl+Enter 在 Fedora 上工作?或者,如果这是不可能的,有没有办法将非常有用的功能重新分配给 Midnight Commander 中的其他组合键?
(我也会考虑 Midnight Commander 本身的替代品,但是在控制台窗口中运行的那些,似乎没有。我不需要图形双面板文件管理器,因为我使用 MC 来协助快速制作命令)。
tl;dr:习惯于Alt+ Enter(又名ESC后跟Enter)。
Ctrl+Enter在终端仿真器中生成与 完全相同的序列Enter,因此应用无法区分这两者。好吧,没有办法通过查看它从终端仿真器接收到的输入流。
mc
有一个有趣的功能叫做“X11 support”。它不仅查看从终端仿真器接收到的字节,而且(如果已编译此支持,并且如果 X11 连接在运行时可用)查询 X11 服务器以获取修改键的状态。所以基本上它是这样的:“哇,我从终端模拟器收到一个 Enter。嘿,X11 服务器,现在按下 Ctrl 了吗?”
有多种方法可能不适合您。
我不知道Fedora 的
mc
编译可能没有 X11 支持。检查输出mc --version
,它是否包含“支持 X11 事件”?su
,sudo
,screen
,tmux
,ssh
或类似工具也可能会破坏此功能,以防 X11 连接在它们内部不可用(例如凭据未正确设置/由su
or转发sudo
;screen
或tmux
从另一个 X 服务器分离和重新连接;显示未由 转发ssh
) .该功能也不适用于 Wayland。我怀疑它无法在 Wayland 中实现,因为它的安全模型,或者至少在没有对某些核心 Wayland 组件的一些插件/扩展的情况下不能实现。但是即使可以检测到修饰符的状态,它还没有在
mc
.在 Wayland 的 MC 中,我们仍然没有替代Ctrl-Shift-Enter。
所以缺少一个,我建议改用Alt-m。而且因为Enter与Ctrl-m相同,这意味着我们将拥有:
请注意,默认情况下Alt-m分配给Mail操作,因此我们将丢失该映射,但它看起来像是一笔成功的交易。
这是一个(可重播)脚本,用于在默认键盘映射(文件)中应用这个新映射
/etc/mc/mc.keymap
:或者补丁: