Bash命令行编辑

时间:2021-07-08 18:16:28

1、Readline库和命令行编辑

bash shell提供了两个内置编辑器:emacs和vi,利用它们可以以交互模式对命令行列表进行编辑,这项特性是通过Readline库的软件包实现的。
当使用命令行编辑功能时,无论是vi还是emacs模式,都是readline的函数决定哪一个键对应哪一项功能。例如,使用emacs模式,则Ctrl-P允许在历史列表中向上滚动。

2、设置命令行编辑器

内置emacs编辑器是默认的内置编辑器。
#set -o vi //设置vi为命令行编辑器

#set -o emacs //设置emacs为命令行编辑器

3、emacs命令行编辑命令

Ctrl-P 向上移动命令列表
Ctrl-N 向下移动命令列表
ESC< 移动到命令列表的第一行
ESC> 移动到命令列表的最后一行

Ctrl-A 移至行首
Ctrl-E 移至行尾
ESC F 向前移动一个单词 //先后按键,不是连着
ESC B 向后移动一个单词

Ctrl-U 从光标处删除至行首
Ctrl-K 从光标处删除至行尾
Ctrl-Y 粘贴回行
Ctrl-D 删除一个字母
ESC D 向前删除一个单词
ESC H 向后删除一个单词 //????

=-=-=-=-=
Powered by Blogilo