Xterm Ctrl+箭头快捷键

Xterm Ctrl+箭头快捷键

我使用的是 xterm 版本 293。在命令中导航时,我通常使用快捷键 或Ctrl+LeftArrowCtrl+RightArrow前后移动。

但在这样做时,相当预期的行为,Ctrl+LeftArrow打印5DCtrl+RightArrow打印5C

如何让xterm工作达到预期?

编辑:

例如,在 xterm 中,如果我输入:

shw$ This is a test

如果光标位于然后我按Ctrl+LeftArrow,然后我期望光标应该移动of is (再次按下Ctrl+LeftArrow,光标必须指向时间这个的)。但相反,我得到的结果是

shw$ This is5D a test

同样适用于Ctrl+RightArrow

答案1

要在 xterm 中支持 Ctrl-箭头,请将modifyKeyboard资源设置为至少 2。例如:

xterm -xrm "*modifyKeyboard: 2"

如果这没有达到预期的行为,则可能是您的应用程序(其键绑定)配置不正确。或者您也可以尝试修改modifyCursorKeys资源,例如

xterm -xrm "*modifyKeyboard: 2" -xrm "*modifyCursorKeys: 0"

您需要配置应用程序以识别转义序列。例如,with *modifyCursorKeys: 2(默认)和 zsh:

bindkey '\e[1;5C' forward-word
bindkey '\e[1;5D' backward-word

对于基于 libreadline 的应用程序,例如 bash:

"\e[1;5C": forward-word
"\e[1;5D": backward-word

在你的~/.inputrc文件中。

相关内容