我有用 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
- 转到设置页面“按键与宏”
- 在列表中选择输入宏(
Macro 01
) - 键入以下宏
print("\el")
- 选择您的热键 - Alt+L
- 保存设置