我使用的是 xterm 版本 293。在命令中导航时,我通常使用快捷键 或Ctrl+LeftArrow
来Ctrl+RightArrow
前后移动。
但在这样做时,相当预期的行为,Ctrl+LeftArrow
打印5D和Ctrl+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
文件中。