无法再在Bash Terminal中使用CTRL +左/右


13

我通常使用CTRL+ LeftCTRL+ Right在命令行中的单词之间导航。我今天早上换了笔记本电脑,再也不能这样做了。相反,CTRL+ Left输入代码会在终端中打印出来。

即:这是我尝试使用CTRL+ 导航时的输出Left

~ $ test test ;5D;5D;5D

奇怪的是,我仍然可以在VIM中使用CTRL+ Left/ Right


可以在bashrc中添加一些东西来启用它吗?因为默认情况下,它在Ubuntu 15.10上
不起作用

请发布的输出grep bind ~/.bashrc 。您是否在~/.bashrcgrep source ~/.bashrc)中采购其他文件?
科斯

1
只是好奇,但是输出是echo $0多少?
亚伦

Answers:


15

打开~/.inputrc文件并添加以下行:

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word

关闭并重新打开外壳。现在您应该可以使用这些键了。

这种行为的原因?不太确定。由于某种原因或其他原因,您已bash停止读取/etc/inputrc文件,但它应该正在读取主文件夹中的文件


我认为当我创建〜/ .inputrc文件时,这个问题就开始出现了。这样会吗?
wjandrea

1
@wjandrea是的,我刚刚测试过。在创建空白之前, ~/.inputrcbash可以正常工作,一旦~/.inputrc创建了空白,便开始显示用于输出的相同控制字符。删除了它-Ctrl +箭头键再次起作用。 strace显示如果.inputrc存在,bash 则不会读取/etc/inputrc。我会多讲一点并更新我的答案
Sergiy Kolodyazhnyy

1
如果添加$include /etc/inputrc~/.inputrc文件的顶部,则可以包括系统范围的行为,然后对其进行扩展。
科里·格罗斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.