在 Ubuntu Server 16.04.1 的命令行上,我想绑定Ctrlup/down到 bash 历史增量搜索功能。我找到了一些关于如何做到这一点的帖子。它们涉及~/.bashrc
和~/.inputrc
文件。
使用 Ctrl 和箭头键导航时出现奇怪的字符表示这可以通过.inputrc
主目录中的文件来实现。为什么 ctrl + 左箭头不能跳过单词?包含关于不使用.inputrc
、关于使用.zshrc
和使用的评论。我还太新,所以不会感到困惑。在我新安装的服务器上.bashrc
没有任何评论。.inputrc
我不明白这些事情:
- .inputrc 是 16.04 中放置键绑定的正确位置吗?
- 对于所有不同版本的 ubunutu 来说,这是否都一样?
- 我的主目录中没有 .inputrc 文件是正常的吗?
- 建议什么:将 /etc/input 复制到 home 并编辑或在新的 .inputrc 中创建链接并在 etc 中编辑文件?
我也没有让它工作。我尝试从中复制文件etc
并将其重命名为.inputrc
,还~/
使用以下命令创建一个新文件:
touch .inputrc
nano .inputrc
文件内容:
$include /etc/inputrc
这是我放入文件中的内容。
# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word
# ctrl up,down
"\e\e[A": history-search-backward
"\e\e[B": history-search-forward
两者都不起作用,Ctrl键被忽略。CTRLUp/down不显示搜索,也不CTRLleft/right跳过单词。我认为它与第二篇帖子的答案相符。
可能是什么问题呢?
答案1
我正在使用 Ubuntu 16.04 LTS。将“用于单词移动的 Ctrl-左箭头和 Ctrl-右箭头的映射”放入我的~/.inputrc
工作中。
确实如此不是努力将这些设置保存在/etc/inputrc
文件中。
我的~/.inputrc
文件如下所示:
# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word
我从文件中删除了上述内容/etc/inputrc
,但(以我的拙见)Ubuntu 16.04 似乎无法读取该内容。
答案2
嗨!也许太晚了,但我还是把这个贴出来供后人参考...
是的,你的 home 中没有这个文件是正常的.inputrc
,直接创建就行了,你确定重新加载了文件吗?
断开与终端的连接并重新连接,或者简单地使用
bind -f ~/.inputrc
那就完成了...