ConEmu(带有 bash/zsh 等 shell)- 无法使用“Meta”(Alt)键进行键绑定

ConEmu(带有 bash/zsh 等 shell)- 无法使用“Meta”(Alt)键进行键绑定

我有用 zsh 创建的键绑定,例如:

bindkey -s "^[l" 'ls -lrt --color=always\n'

我想在 ConEmu 中通过按住“Alt”并按“l”来执行。它只会在我的提示符下打印一个矩形字符。如果我按下“esc”然后按“l”,它就会按预期运行,列出目录内容。

如何配置 ConEmu 将元修饰符传递给 shell,以便我可以使用“Alt”键执行键绑定?

(我并不是在寻找替代解决方案 - 我想获取我在 Mac 和 Linux 主机上使用的 .zshrc,并且该文件包含我工作时依赖的许多键绑定)

答案1

ConEmu 充当真正的控制台窗口。这意味着,您的 shell 无法处理正确的按键。您可以检查是否从标准 Windows 控制台运行它(从 Win+R 运行您的 shell)。我相信,有一种方法可以配置您的 shell,以强制它处理 Windows 按键。

但是,如果您希望 ConEmu 在按下 Alt+l 时将其他序列发送到控制台窗口,您可以创建 GuiMacro

  1. 转到设置页面“按键与宏”
  2. 在列表中选择输入宏(Macro 01
  3. 键入以下宏print("\el")
  4. 选择您的热键 - Alt+L
  5. 保存设置

相关内容