【问题标题】:How to send ctrl+shift+6 as ansi escape sequence?如何发送 ctrl+shift+6 作为 ansi 转义序列?
【发布时间】:2021-05-21 08:30:52
【问题描述】:

试图找到用于发送密钥 ctrl+shift+6 的 ANSI 转义序列,格式为 \u001b.. .

我最近尝试切换到仅使用 Windows Terminal 而不是 SecureCRT/Putty,但在终止使用 ctrl+shift+ 的 Cisco telnet/console 会话时遇到问题6 然后是 x

终端似乎没有识别到​​这一点,或者没有以与 SecureCRT/Putty 相同的方式转发它,因为没有任何反应。如果有任何用途,会话会在 VTY100 期限内建立,并且 SSH 会话是从 Redhat7 跳转主机中的 Zsh-shell 启动的,基本连接来自我的 Ubuntu WSL2-box。

我想我找到了一种可能的解决方法,因为 Windows 终端允许键绑定 ansi 转义序列,但我无法弄清楚该序列会是什么样子?

向 shell 发送任意文本输入。例如,输入 "text\n" 将在 shell 中写入“text”,后跟换行符。

可以使用 ANSI 转义序列,但像 \x1b 这样的转义码必须写为 \u001b。例如,"\u001b[A" 的行为就像按下了向上箭头按钮一样。

默认情况下,Windows 终端使用这个精确的键绑定来打开一个新选项卡,但我删除了它。

【问题讨论】:

    标签: windows-subsystem-for-linux cisco ansi-escape windows-terminal


    【解决方案1】:

    问题是

    尝试查找用于发送密钥 ctrl+shift+6 的 ASCII 转义序列,格式为 \u001b.. .

    指的是ctrl^,通常是0x1e(十六进制)或036(八进制)。

    根据您引用的评论,这将表示为“\u001e”。

    如果 Windows 终端将其分配给不同的代码,您可能会打开一个错误报告,因为它的开发人员打算模仿 xterm

    【讨论】:

    • 我已经为此苦恼了一天,谢谢!它工作得很好,对于任何想知道我的键绑定现在看起来像这样的人来说:{ "command": { "action": "sendInput", "input": "\u001e" }, "keys": "f5" }
    猜你喜欢
    • 2017-03-29
    • 1970-01-01
    • 2020-06-12
    • 1970-01-01
    • 2015-10-18
    • 2011-09-27
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    相关资源
    最近更新 更多