2013-02-22 219 views
4

我刚才发现我们可以创建一个~/.inputrc文件来定义键盘映射。但我不知道如何加载它。我试图找到它,但我立即得到了“设置语法错误”。我从这里复制了~/.inputrc文件:http://www.linuxfromscratch.org/lfs/view/6.2/chapter07/inputrc.htmlinputrc文件无法加载

它提到它使用Readline加载。那是什么意思?

+0

我有一个inputrc,我运行,如果我尝试来源它,我从bash得到“命令未找到”错误...但它加载和工作正常,当我创建一个新的终端。 – 2013-02-22 15:17:41

+0

你介意在这里复制你的.inputrc内容吗? – user1861088 2013-02-22 15:21:28

回答

2

Readline是several程序可能使用的可能的“键盘输入处理前端”之一。一个程序也可以不使用(除了通常由libc完成的stdio处理)。

如前所述,.inputrc由readline使用,因此它只会影响使用readline的程序。 Bash就是这样一个程序,所以它会间接地使用.inputrc,但它不是一个文件,你将像文件一样源文件为.bashrc,而且语法根本不相关。 .inputrc文件仅在启动时由程序加载(间接通过readline库)。从the documentation

当它使用的Readline库启动程序中,init 文件被读取,关键绑定设置。

7
$ bind -f ~/.inputrc 

-f filename:从filename阅读键绑定。

$ help bind 

注:这是一个内置的bash命令,所以它只会用bashsh工作。它不会与kshcsh外壳一起使用,对于tcsh或csh外壳您需要使用bindkey命令。更多帮助:bindkey

+0

当我做'$绑定'它说没有找到命令。然而'$ help bind'实际上似乎有它的说明..我很困惑。你知道默认绑定二进制文件的位置吗? – user1861088 2013-02-22 15:33:11

+0

绑定内置到bash中,运行man bash – Satish 2013-02-22 15:34:22

+0

什么是您的操作系统版本或供应商? – Satish 2013-02-22 15:34:47