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语法。
该.inputrc文件不是要获取的文件。它应该由bash使用 readline 库的其他软件自动考虑。如果这不起作用,请在冒号后添加一个空格,例如
"\e[1;5C": forward-word
Run Code Online (Sandbox Code Playgroud)
(我一直在这个配置文件中看到一个空格)。
有问题的键绑定和~/.inputrc文件是用于bash. 对于csh(或tcsh)使用文件~/.bindings并使用以下语法。
bindkey '^[[1;5C' forward-word
bindkey '^[[1;5D' backward-word
Run Code Online (Sandbox Code Playgroud)
谷歌搜索后意识到这一点。