AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 414413
Accepted
Mikhail Ramendik
Mikhail Ramendik
Asked: 2018-01-03 18:43:06 +0800 CST2018-01-03 18:43:06 +0800 CST 2018-01-03 18:43:06 +0800 CST

Ctrl-Enter for Midnight Commander 在 Fedora 的 X 终端中不工作,在 OpenSuse 中工作

  • 772

我喜欢午夜指挥官。可能与 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 来协助快速制作命令)。

fedora terminal
  • 2 2 个回答
  • 2337 Views

2 个回答

  • Voted
  1. Best Answer
    egmont
    2018-01-04T01:10:06+08:002018-01-04T01:10:06+08:00

    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 连接在它们内部不可用(例如凭据未正确设置/由suor转发sudo;screen或tmux从另一个 X 服务器分离和重新连接;显示未由 转发ssh) .

    该功能也不适用于 Wayland。我怀疑它无法在 Wayland 中实现,因为它的安全模型,或者至少在没有对某些核心 Wayland 组件的一些插件/扩展的情况下不能实现。但是即使可以检测到修饰符的状态,它还没有在mc.

    • 5
  2. fuujuhi
    2019-03-13T14:09:18+08:002019-03-13T14:09:18+08:00

    在 Wayland 的 MC 中,我们仍然没有替代Ctrl-Shift-Enter。

    所以缺少一个,我建议改用Alt-m。而且因为Enter与Ctrl-m相同,这意味着我们将拥有:

    • Alt-Ctrl-m,即。Alt-Enter,用于粘贴文件名。
    • Alt-m用于粘贴完整路径名。

    请注意,默认情况下Alt-m分配给Mail操作,因此我们将丢失该映射,但它看起来像是一笔成功的交易。

    这是一个(可重播)脚本,用于在默认键盘映射(文件)中应用这个新映射/etc/mc/mc.keymap:

    sudo sed -ri '/PutCurrentFullSelected/s/=( alt-m;)?/= alt-m;/' /etc/mc/mc.default.keymap
    sudo sed -ri '/Mail = alt-m/s/= alt-m/=/;' /etc/mc/mc.default.keymap
    

    或者补丁:

    diff --git a/mc/mc.default.keymap b/mc/mc.default.keymap
    --- a/mc/mc.default.keymap
    +++ b/mc/mc.default.keymap
    @@ -33,7 +33,7 @@ Shell = ctrl-o
     PutCurrentPath = alt-a
     PutOtherPath = alt-shift-a
     PutCurrentSelected = alt-enter; ctrl-enter
    -PutCurrentFullSelected = ctrl-shift-enter
    +PutCurrentFullSelected = alt-m; ctrl-shift-enter
     ViewFiltered = alt-exclamation
     Select = kpplus
     Unselect = kpminus
    @@ -313,7 +313,7 @@ Help = f1
     Refresh = ctrl-l
     Goto = alt-l
     Sort = alt-t
    -Mail = alt-m
    +Mail =
     ParagraphFormat = alt-p
     MatchBracket = alt-b
     ExternalCommand = alt-u
    
    • 1

相关问题

  • 语法错误:fd 编号错误?

  • traceroute,只打印网关信息

  • 如何在 ssh 上运行一瞥?

  • 备份 Nand Flash 存储区

  • 如何正确分区 SSD 以进行双启动设置

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    ssh 无法协商:“找不到匹配的密码”,正在拒绝 cbc

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    如何卸载内核模块“nvidia-drm”?

    • 13 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add 返回:“连接代理时出错:没有这样的文件或目录” 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve