inputrc 在 ubuntu 18 中无法像在 16 及更低版本中那样工作

inputrc 在 ubuntu 18 中无法像在 16 及更低版本中那样工作

我曾经.inputrc在我的用户目录中创建一个简单的并添加以下内容:

"e[A": history-search-backward
"e[B": history-search-forward
"e[C": forward-char
"e[D": backward-char

重新加载bash

exec bash -l

然后可以使用箭头键轻松遍历 bash 历史记录。

现在在 ubuntu 18 中同样不起作用..我不知道它是否没有读取 inputrc 文件或其他东西..其他人有同样的问题并找到解决方案吗?

我也尝试过这个答案~/.inputrc 文件来源不正确

bind -f  ~/.inputrc

但这对我来说仍然不起作用..:/

答案1

我的猜测是键绑定需要一个反斜杠“\”。但我不知道这是否就是你所需要的。我在Debian上。

"\e[A": history-search-backward
"\e[B": history-search-forward
"\e[C": forward-char
"\e[D": backward-char

以下是如何检查绑定是否处于活动状态的示例。

  • 检查是否设置了历史向后搜索

    $ bind -p|grep history-search-backward
    # history-search-backward (not bound)
    
  • 测试哪个命令具有按键序列“\e[A”

    $ bind -p|grep "\\e\[A"
    "\e[A": previous-history
    
  • 将新的键绑定写入 ~/.inputrc 并重新加载

    $ echo '"\e[A": history-search-backward' >> ~/.inputrc
    $ bind -f ~/.inputrc
    
  • 再次检查是否设置了历史搜索向后

    $ bind -p|grep history-search-backward
    "\e[A": history-search-backward
    

相关内容