天天看点

Linux 命令行编辑快捷键简介与 Readline 的交互

简介

命令行编辑是 Readline 库提供的功能。这个库被几个不同的程序共用,Bash 就是其中给一个。使用交互式的 Shell 时,默认已经打开了命令行编辑,除非启动Shell 时指定了

--noediting

选项。

键的表示方法

符号

C-k

读作 “Control-K”,表示按下

Control

键时再按下

K

键所得到的的字符。

符号

M-k

读作 “Meta-K”,表示按下

Meta

键(如果有这个键)时再按下

K

键所得到的的字符。

在很多键盘上,

Meta

键都标记为

ALT

。如果一个键盘上有两个

ALT

键(通常在空格键的两侧),则一般左边的那个可以当做

Meta

键使用,而右边的那个

ALT

键可以配置成

Meta

键或者其他修饰键。

符号

M-C-k

读作 “Meta-Control-K”,表示 Meta 化的

C-k

与 Readline 的交互

Readline 的移动命令

  • C-b

    向前移动一个字符(的位置);
  • C-f

    向后移动一个字符(的位置);
  • M-f

    向前移动一个单词(的位置)。单词是由字母和数字构成的;
  • M-b

    向后移动一个单词(的位置)。单词是由字母和数字构成的;
  • C-a

    移动到行的开头;
  • C-e

    移动到行的结尾;

Readline 的删除命令

  • C-d

    删除光标下的字符;
  • C-h

    删除光标之前的一个字符
  • C-w

    从光标位置删除到上一个空白字符。连续的空白字符被当做单个空白字符。;
  • M-Backspace

    从光标位置删除到当前单词的开头;如果光标在单词之间,则删除到上一个单词的开头;
  • M-d

    从光标位置删除到当前单词的结尾;如果是在单词之间,则删除到下一个单词的结尾;

Readline 的粘贴命令

  • C-k

    删除从光标位置到行尾的所有字符;
  • C-u

    删除从光标位置到行首的所有字符;
  • C-y

    把最近删除的文本插入到光标所在的缓存中;
  • M-y

    在删除环中循环,并插入新的顶端文本。只有当前一个命令是

    C-y

    M-y

    时才可以使用这个命令。

Readline 的清屏命令

  • C-L

    清除屏幕(可以回滚);
  • Command-K

    (无法回滚);这里的

    Command

    键指键盘上的

    Win

    键 或者

    Command

    键。

继续阅读