blogs

Emacs 键盘命令

C-f 表示:按住 Control 键再输入 f

移动屏幕

基本的光标控

P 代表 previous(上一行),N 代表 next(下一行), B 代表 backward(回退),而 F 则代表 forward(前进)

Meta 系列组合键用来操作“由语言定义的单位(比如词、句子、段落)”, 而 Control 系列组合键用来操作“与语言无关的基本单位(比如字符、行等等)”。

两个重要的光标移动命令:

在大部分键盘上,小于号(<)需要用上档键(Shift)来输入, 所以在这些键盘上应该用 Shift 键来输入 M-<

Emacs 命令接受数字参数

为一个命令指定数字参数(也就是重复次数)的方法是:

  1. 先输入 C-u
  2. 然后输入数字作为参数,
  3. 最后再输入命令。

例子: C-u 8 C-f 会向前移动 8 个字符。

然大部分命令把数字参数解读为其重复次数,但是也有些命令例外。比如 C-vM-v,当给定一个参数时,它们将滚动你指定的“行数”,而不是“屏数”。

例子: C-u 8 C-v 将文本向下滚动 8 行。

窗格(Windows)

CONTROL-x 开始的,这些命令许多都跟“窗格、文件、缓冲区等等诸如此类的东西有关,其中有些命令可能包含了 2 个、3 个或者 4 个字符。

插入与删除(Inserting and Deleting)

<Return>(这个键在键盘上有时会被标注成 Enter): 插入一个换行符 <Del>(这个键通常被标注为“Backspace”): 删除光标左边的字符

k 代表移除(kill)。 C-kM-k 的关系在某种程度上与 C-eM-e 一样。

移除缓冲区里的任何一部分:

  1. 首先把光标移动到想要移除的区域的一端,
  2. 然后按 C-<SPC><SPC>指空格),
  3. 然后将光标移动到你准备移除的文字的另一端,
  4. 这个时候, Emacs 会高亮光标和你按下 C-<SPC> 之间的文本。
  5. 按下 C-w 。这样就可以把位于这两点之间的所有文字移除了。

C-<SPC> 往往被中文用户设定成输入法热键,如果这样,C-<SPC> 就被系统拦截而无法传递给 Emacs 了,在这种情况下可以使用 C-@ 。 输入 C-<SPC> 。Emacs 应该会在屏幕的下方显示一个Mark set的消息。

“移除(kill)”和“删除(delete)”的不同在于被移除的东西可以被重新插入(在任何位置),而被删除的就不能使用相同的方法重新插入了(不过可以通过撤销一个删除命令来做到)。

缓冲区

命令集扩展(Extending the command set)

Emacs 扩展命令有两种风格:

搜索(Searching)

多窗格(Multiple Windows)

多窗口(Multiple Frames)

递归编辑(Recursive Editing Levels)

递归编辑状态由位于状态栏的方括号所指示, 比如说,你有时可能会看到[(Fundamental)],而不是 (Fundamental)

获得更多帮助

更改tutorial语言

M-x help-with-tutorial-spec-language