7.8. 创建 /etc/inputrc 文件

inputrc 文件是 Readline 库的配置文件, 该库在用户从控制台输入命令行时提供编辑功能。 它的工作原理是将键盘输入翻译为特定动作。 Readline 被 Bash 和大多数其他 shell ,以及许多其他程序使用。

多数人不需要 Readline 的用户配置功能,因此以下命令创建全局的 /etc/inputrc 文件,供所有登录用户使用。 如果您之后决定对于某个用户覆盖掉默认值,您可以在该用户的主目录下创建 .inputrc 文件,包含被修改的映射。

关于更多如何编写 inputrc 文件的信息, 参考 info bashReadline Init File 一节。 info readline 也是一个很好的信息源。

下面是一个通用的全局 inputrc 文件, 包含解释一些选项含义的注释。注意注释不能和命令写在同一行。 执行以下命令创建该文件:

cat > /etc/inputrc << "EOF"
# Begin /etc/inputrc
# 由 Chris Lynn <roryo@roryo.dynup.net> 编辑

# 允许命令行折叠到下一行
set horizontal-scroll-mode Off

# 允许 8 位输入
set meta-flag On
set input-meta On

# 不移除第 8 位
set convert-meta Off

# 显示时保留第 8 位
set output-meta On

# 可以设为 none,visible 或 audible
set bell-style none

# 以下所有命令将第一参数中包含的 escape 序列
# 映射为对应的 readline 功能
"\eOd": backward-word
"\eOc": forward-word

# 用于 linux 终端
"\e[1~": beginning-of-line
"\e[4~": end-of-line
"\e[5~": beginning-of-history
"\e[6~": end-of-history
"\e[3~": delete-char
"\e[2~": quoted-insert

# 用于 xterm
"\eOH": beginning-of-line
"\eOF": end-of-line

# 用于 Konsole
"\e[H": beginning-of-line
"\e[F": end-of-line

# End /etc/inputrc
EOF