油灰/Bash alt+;左/右箭头键按单词移动光标
我无法让这个油灰正确地处理alt+left/right (编辑:我所说的“正确”,显然是指我习惯于移动光标的方式;-) 通常我可以做:油灰/Bash alt+;左/右箭头键按单词移动光标,bash,keyboard-shortcuts,putty,Bash,Keyboard Shortcuts,Putty,我无法让这个油灰正确地处理alt+left/right (编辑:我所说的“正确”,显然是指我习惯于移动光标的方式;-) 通常我可以做: cat > /dev/null ..<hold alt and left arrow>.. 找到合适的钥匙。在这种情况下,我得到:^[^[[D 然后,我开始做: bind '^[^[[D:backward-word' 我也试过: bind '\e\e[D:backward-word' 请注意,此问题在屏幕内(TERM=sc
cat > /dev/null
..<hold alt and left arrow>..
找到合适的钥匙。在这种情况下,我得到:^[^[[D
然后,我开始做:
bind '^[^[[D:backward-word'
我也试过:
bind '\e\e[D:backward-word'
请注意,此问题在屏幕内(TERM=screen)和屏幕外(TERM=xterm)是相同的
关于我下一步应该尝试什么的提示?需要启用/禁用的油灰选项吗?出于某种原因,这种
bind
格式也不适合我,但我已经成功地使用了bind-f
~/.bashrc:
if [ -f ~/.readline-bindings ] ; then
bind -f ~/.readline-bindings
fi
~/.readline绑定:
"\e[1;3D": backward-word
"\e[1;3C": forward-word
请注意
:
字符后的空格。显然,您应该在此处使用自己的控制序列。查看stty-a
并查看是否有任何设置与您想要的匹配要使bind
命令工作,您只需添加一组双引号:bind'\e\e[D”:backward word“
这个问题使我正确地解决了zsh的类似问题(解决方案:使用cat>/dev/null
识别密钥代码,然后使用bindkey
)谢谢,我在你的帖子的启发下成功地实现了它。你可以将~/.readline bindings
的内容添加到~/.inputrc
中,并删除bind-f
。问题是当我按ctrl+v,然后按alt+左箭头时,vi通常会给出一个键码。这次它只给出了“^[”,将其变成“^[^[^[D”仅仅复制粘贴是不够的,它需要是实际的单字符转义键“^[”而不是两个单独的字符。我不知道为什么vi会突然出现这种行为,但这可能是下一次:-)感谢那些想使用Emacs获得这种行为的人:编辑~/.inputrc
你可以按Ctrl-q来引用你键入的下一个字符。对我来说,我必须键入“\e
,然后按Ctrl-q Esc(添加^[/code>),然后键入[D]:backward word“
,并将类似的线条映射添加到\e^[[C
到forward word
。