kbo*_*sak 37 bash putty gnu-screen
我搜索过,但在任何地方都找不到解决方案。我正在使用 Windows 中的 PuTTY 连接到运行 bash 和 screen 的各种服务器。bash 似乎可以使用 ctrl-arrow 键在命令行上逐字跳转,但在屏幕内它不起作用。不在屏幕中,ctrl-left 发送“^[OC”,ctrl-right 是“^[OD”。在屏幕中,我得到了“^[[C”和“^[[D”,这似乎只是左/右箭头键。有没有办法让屏幕在使用 PuTTY 时识别 ctrl 箭头键?(仅供参考,我不记得在 linux 中使用 gnu-terminal 而不是 PuTTY 时有这个问题)。
更新:看来 PuTTY 是问题所在,因为它没有发送使其工作所需的转义码。我现在放弃并使用 Cygwin+mintty。
小智 28
正如这里提到的,你可以输入 ~/.inputrc:
"\eOD": backward-word
"\eOC": forward-word
Run Code Online (Sandbox Code Playgroud)
它对我有用。
Den*_*son 14
编辑:
以下是对我有用的内容:
~/.bashrc
设置TERM=xterm
(我的恰好是TERM=xterm-256colors
)覆盖屏幕的TERM=screen
tput smkx
在 Bash 提示符下输入现在 Ctrl-箭头键逐字跳转
仅供参考,如果我这样做:
tput smkx | hexdump -c
我得到
0000000 033 [ ? 1 h 033 =
并
tput rmkx | hexdump -c
给我
0000000 033 [ ? 1 l 033 >
我认为有一种方法可以将它改造成更好的东西,但这是我到目前为止所得到的并且似乎有效。
原答案:
来自info screen
:
“屏幕”会话中的每个窗口都模拟一个 VT100 终端,并添加了一些额外的功能。VT100 仿真器是硬编码的,无法仿真其他终端类型。
VT100 没有 Ctrl-箭头键码。