Ubuntu 16.04 命令行.inputrc 用于键绑定吗?

Ubuntu 16.04 命令行.inputrc 用于键绑定吗?

在 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

那就完成了...

相关内容