系统相关
首页 > 系统相关> > Linux(Bash,Shell)键盘命令配置

Linux(Bash,Shell)键盘命令配置

作者:互联网

Bash下,如果使用的是shell脚本文件,快捷键不一定是一样的,有的时候会出现同一个快捷键有不同的表现,这种情况一般是由于Bash所处的模式不同而引起的,你可以通过set命令来调整模式:

set -o emacs
##切到emacs模式
set -o vi
##切到vi模式
set -o
## 查看当前选项的设置状态

Inputrc 用来处理键盘映射表。这个文件在启动的时候被一个bash和其他shell使用的库,readline,调用。

全局的设定值包含在 /etc/inputrc中。 每个用户自己的值设定于~/.inputrc。 ~/.inputrc 若存在,则会忽略全局设定值(~/.bashrc确定?)。前面bash设定中缺省调用 /etc/inputrc 如果你想让系统同时使用两个设定,可以把一个 .inputrc放到/etc/skel 中给每一个新建立的用户使用。

## 本例来自CentOS6.4的默认配置文件
$if mode=emacs

# for linux console and RH/Debian xterm
"/e[1~": beginning-of-line
"/e[4~": end-of-line
# commented out keymappings for pgup/pgdown to reach begin/end of history
#"/e[5~": beginning-of-history
#"/e[6~": end-of-history
"/e[5~": history-search-backward
"/e[6~": history-search-forward
"/e[3~": delete-char
"/e[2~": quoted-insert
"/e[5C": forward-word
"/e[5D": backward-word
"/e[1;5C": forward-word
"/e[1;5D": backward-word

# for rxvt
"/e[8~": end-of-line
"/eOc": forward-word
"/eOd": backward-word

# for non RH/Debian xterm, can't hurt for RH/DEbian xterm
"/eOH": beginning-of-line
"/eOF": end-of-line

# for freebsd console
"/e[H": beginning-of-line
"/e[F": end-of-line
$endif

说明:

在配置文件中,/C代表CTRL,/M代表ALT,/e代表ESC,//是反斜杠/,/'是单引号,/"是双引号;

/C-    control prefix
/M-    meta prefix
/e     an escape character
//     backslash
/"     literal ", a double quote
/’     literal ’, a single quote


如果要查看某一个功能键的字符序列可以通过[CTRL-V]来实现,或者输入cat后回车,进入编辑中,直接按快捷键
配置文件中可能会使用八进制或者十六进制来表示字符。

参数详解:

# emacs模式的一些默认/修改
$if mode=emacs

# 允许使用Home/End键
"\e[1~": beginning-of-line
"\e[4~": end-of-line

# 允许使用Delete/Insert 键
"\e[3~": delete-char
"\e[2~": quoted-insert

# “page up”和“page down”的映射将逐步进入历史的开始/结束
 "\e[5~": beginning-of-history
 "\e[6~": end-of-history

# “page up”和“page down”搜索历史的替代映射
"\e[5~": history-search-backward
"\e[6~": history-search-forward

#ctrl -左箭头和ctrl -右箭头用于单词移动的映射
"\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

$if term=rxvt
"\e[7~": beginning-of-line
"\e[8~": end-of-line
"\eOc": forward-word
"\eOd": backward-word
$endif

# 对于非RH/Debian xterm,对RH/Debian xterm没有害处
# "\eOH": beginning-of-line
# "\eOF": end-of-line

# 支持freebsd控制台
# "\e[H": beginning-of-line
# "\e[F": end-of-line

$endif

set horizontal-scroll-mode Off         # 确认我们不会在同一行中输出所有的东西。

set meta-flag On              # 开启8比特输入

set input-meta On

set convert-meta Off              # 禁止对第8个比特过滤

set output-meta On                # 在显示时保存第8个比特

set bell-style none                 # 关闭可视和声音提示

# 函数第一部分中包括的换码符序列的值

"\eOd": backward-word

"\eOc": forward-word

# 在控制台使用

"\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

参考资料:

https://www.runoob.com/w3cnote/bash-shortcut.html

标签:Shell,end,set,Linux,word,line,beginning,Bash,history
来源: https://blog.csdn.net/Code_LT/article/details/119898866