【问题标题】:Howto make Alt + NationalChar work as Alt + US-ASCII?如何使 Alt + NationalChar 像 Alt + US-ASCII 一样工作?
【发布时间】:2012-01-18 20:40:27
【问题描述】:

我想在 shell 终端中使用 ALT + d 来杀死一个单词。

问题是,如果我使用国家字符,即西里尔字母,在按下 ALT + CyrChar 后,我会在调整的 xterm 上得到一个 CyrChar和 gnome 终端上不可打印的符号。

我知道可以将此功能重新绑定到某些 CTRL 组合,例如 CTRL + dbind '"\C-d":shell-kill-word',这将也可以在国家模式下工作,但是有没有办法让 ALT + CyrChar 工作类似于 ALT + US-ASCII kbd>?

【问题讨论】:

    标签: linux bash shell terminal


    【解决方案1】:

    首先,在你的 shell 中输入 CTRL+V ALT+CyrChar。您应该会看到类似“^[foo”的内容。 “foo”部分是当您按下 ALT+CyrChar 时 bash 看到的内容。然后使用 bind '"\efoo":kill-word' 将其绑定到 kill-word 命令。确保将 foo 替换为 ^[ 之后的内容。

    例如,要将 ALT+DELETE 绑定到 kill-word,我会使用 bind '"\e[3;3~":kill-word',因为 CTRL+V ALT+ 打印^[[3;3~

    【讨论】:

    • 不幸的是,这对我的 xterm 终端没有帮助,只是因为那里有 alt+Cyrchar = Cyrchar,而不是 ESC Cyrchar.
    • 我已将 XTerm*VT100*metaSendsEscape: True 添加到我的 .Xresources 中,现在您的解决方案也适用于我的 xterm!
    猜你喜欢
    • 2014-12-09
    • 2017-11-29
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    • 2020-10-29
    • 2013-05-16
    • 1970-01-01
    相关资源
    最近更新 更多