我有为某些键绑定创建的 ~/.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
每当我尝试运行时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。有人可以帮我吗?谢谢。
编辑:我也尝试过在冒号 (:) 符号后添加空格的文件。这不起作用。我也尝试使其可执行(chmod +x ~/.inputrc),但没有成功。
编辑:我意识到这个过程仅适用于“bash”,而我正在运行“tcsh”。对于“csh”,使用.bindings
file 而不是.inputrc
file 并使用bindkey
语法。
答案1
对于 bash,这将立即重新加载当前定义的映射
bind -f ~/.inputrc
答案2
该.inputrc
文件不是要来源的文件。它应该由bash
使用 readline 库的其他软件自动考虑。如果这不起作用,请在冒号后添加一个空格,例如
"\e[1;5C": forward-word
(我总是在这个配置文件中看到一个空格)。
答案3
有问题的键绑定和~/.inputrc
文件是针对bash
.对于csh
(或tcsh
) 使用文件~/.bindings
并使用以下语法。
bindkey '^[[1;5C' forward-word
bindkey '^[[1;5D' backward-word
经过一番谷歌搜索后意识到这一点。