~/.inputrc 文件来源不正确

rrl*_*ane 18 bash tcsh readline

我有为某些键绑定创建的 ~/.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
Run Code Online (Sandbox Code Playgroud)

每当我尝试运行时source ~/.inputrc,它都会给我以下错误:

\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 组合键在新终端中也不起作用。我自己创建了这个文件,因为我没有 root 访问权限来更改 /etc/inputrc.conf 。有人可以帮我吗?谢谢。

编辑:我也尝试过在冒号 (:) 符号后带有空格的文件。它不起作用。我也试过让它可执行(chmod +x ~/.inputrc),没有用。

编辑:我意识到这个程序仅适用于“bash”,而我正在运行“tcsh”。对于“csh”,使用.bindings文件而不是.inputrc文件并使用bindkey语法。

小智 16

对于 bash,这将重新加载当前定义的映射

bind -f  ~/.inputrc
Run Code Online (Sandbox Code Playgroud)


vin*_*c17 7

.inputrc文件不是要获取的文件。它应该由bash使用 readline 库的其他软件自动考虑。如果这不起作用,请在冒号后添加一个空格,例如

"\e[1;5C": forward-word
Run Code Online (Sandbox Code Playgroud)

(我一直在这个配置文件中看到一个空格)。


rrl*_*ane 7

有问题的键绑定和~/.inputrc文件是用于bash. 对于csh(或tcsh)使用文件~/.bindings并使用以下语法。

bindkey '^[[1;5C' forward-word
bindkey '^[[1;5D' backward-word
Run Code Online (Sandbox Code Playgroud)

谷歌搜索后意识到这一点。

  • 无论出于何种原因,我的 tsch 都忽略了 .bindings 文件。将 `source ~/.bindings` 添加到我的 `~/.cshrc` 文件修复了这个问题。 (2认同)