Emacs 快速指南 摘要
以下是我从《Emacs 快速指南》中的摘要,方便以后查阅。
M-v 上翻
C-v 下翻
C-p 上一行
C-n 下一行
C-b 左移
C-f 右移
“P N B F”四个字母分别代表了四个词,用这四个词记忆这些组合键会更容易:
P 代表 previous(上一行),N 代表 next(下一行),B 代表 backward(回
退),而 F 则代表 forward(前进)。
C-l 所选位置居中
M-f 前移一个词
M-b 后移一个词
通常的惯例是:META 系
列组合键用来操作“由语言定义的单位(比如词、句子、段落)”,而 CONTROL
系列组合键用来操作“与语言无关的基本单位(比如字符、行等等)”。
C-f 向右移动一个字符
C-b 向左移动一个字符
M-f 向右移动一个词【对中文是移动到下一个标点符号】
M-b 向左移动一个词【对中文是移动到上一个标点符号】
C-n 移动到下一行
C-p 移动到上一行
C-a 移动到行首
C-e 移动到行尾
M-a 移动到句首
M-e 移动到句尾
M-< 文档最开始
M-> 文档最末尾
C-u 8 C-f 会向前移动 8 个字符。
<Delback> 删除光标前的一个字符
C-d 删除光标后的一个字符
M-<Delback> 移除光标前的一个词
M-d 移除光标后的一个词
C-k 移除从光标到“行尾”间的字符
M-k 移除从光标到“句尾”间的字符
首先把光标移动到你
想要移除的区域的一端,然后按 C-@,
然后将光标移动到另一端,
再按 C-w 就可以把位于这两点之间的所有文字移除了
召回的命令是 C-y。它会在光标所在处插入你最后移除的文字。
通常 C-x u 会消除一个命令所造成的所有改变;如果你在一行中连续多次地使用
C-x u,你会把以前的命令也依次撤销。
但是有两个例外:
1) 没有改变文字的命令不算(包括光标移动命令和滚动命令)
2) 从键盘输入的字符以组为单位――每组 20 个字符――来进行处理。
(这是为了减少你在撤销“插入文字”动作时需要输入 C-x u 的次数)
C-_ 也是撤销命令;它的作用跟 C-x u 一样,但是它比较容易多次输入。C-_ 的
缺点是在某些键盘上可能不太容易按,这也正是我们同时提供 C-x u 的原因.
C-x C-f 寻找一个文件
Emacs 会提示你输入文件名。你输入的文件名会出现在屏幕最底端的一行,这一
行被称为小缓冲(minibuffer),在小缓冲里你可以使用通常的 Emacs 编辑命令
来编辑文件名。
在小缓冲里输入文件名(其实输入其它东西也一样)时可以用 C-g 取消。
>> 输入 C-x C-f,然后输入 C-g
这会关掉小缓冲,同时也会取消使用小缓冲的 C-x C-f 命令。
C-x C-s 储存这个文件
这条命令把 Emacs 中的文字存储到文件中。第一次存盘的时候 Emacs 会将原文
件重命名以备份。重命名的规则通常是在原文件名之后添加一个“~”字符。
【对许多人来说,这是一个烦人的特性,关掉文件备份可以用如下命令:
M-x customize-variable <Return> make-backup-files <Return>】
你可以用 C-x C-f 找到并打开第二个文件,但第一个文件仍然在 Emacs 中。要
切回第一个文件,一种办法是再用一次 C-x C-f。这样,你就可以在 Emacs 中同
时打开多个文件。
>> 用 C-x C-f foo <Return> 的方式建立一个名为“foo”的文件。
输入一些文字,再用 C-x C-s 保存文件“foo”。
最后,输入 C-x C-f TUTORIAL.cn <Return> 回到这里。
C-x C-b 列出缓冲区
C-x 1 离开缓冲区列表
不管存在多少缓冲区,任何时候都只能有一个“当前”缓冲区,也就是你正在编
辑的这个。如果你想编辑其它的缓冲区,就必须“切换”过去。上面讲过,用
C-x C-f 是一种办法。不过还有一个更简单的办法,那就是用 C-x b。用这条命
令,你必须输入缓冲区的名称。
>> 输入 C-x b foo <Return> 以回到文件“foo”的缓冲区。
然后输入 C-x b TUTORIAL.cn <Return> 回到这里。
大多数情况下,缓冲区与跟其对应的文件是同名的(不包括目录名),不过这也
不是绝对的。用 C-x C-b 得到的缓冲区列表总是显示缓冲区名。
C-x 字符扩展。 C-x 之后输入另一个字符或者组合键。
M-x 命令名扩展。M-x 之后输入一个命令名。
在允许 C-z 的系统中,C-z 会把 Emacs“挂起”,也就是说,它会回到 shell
但不退出 Emacs。在常用的 shell 中,通常可以用“fg”或者“%emacs”命令再
次回到 Emacs 中。
C-x C-f 寻找文件。
C-x C-s 保存文件。
C-x C-b 列出缓冲区。
C-x C-c 离开 Emacs。
C-x 1 关掉其它所有窗格,只保留一个。
C-x u 撤销。
M-x repl s<Return>changed<Return>altered<Return>。
M-x recover file<Return> 恢复你的自动保存文件。在提
示确认的时候,输入 yes<Return>。
M-x fundamental-mode 就可以切换到 Fundamental
模式。
C-h m 可以查看当前主模式的文档。
>> 用 C-u C-v 将本行带到屏幕的最上方。
>> 输入 C-h m,看看 Text 模式与 Fundamental 模式有哪些不同。
>> 输入 C-x 1 关掉文档窗格。
M-x auto fill mode<Return> 启动自动折行模式
C-u 2 0 C-x f 自动折行
>> 输入 C-s 开始一个搜索。注意敲慢一点,一次输入一个字符。
慢慢输入“cursor”这个词,每敲一个字都停顿一下并观察光标。
现在你应该已曾经找到“cursor”这个词了。
>> 再按一次 C-s,搜索下一个“cursor”出现的位置。
>> 现在按四次退格键,看看光标是如何移动的。
>> 敲 <Return> 结束搜索。
C-g 来终止搜索
C-r 与 C-s
相比除了搜索方向相反之外,其余的操作都一样。向上搜索。
>> 移动光标到这一行,然后输入 C-u 0 C-l。
>> 现在输入 C-x 2,它会将屏幕划分成两个窗格。
C-M-v 滚动下方的窗格
向上滚动是 C-M-S-v,也就是同时按住 CONTROL、META 和 SHIFT 再按 v
C-x 1 关掉下方窗格(只保留一个)
>> 输入 C-x 4 C-f,紧跟着输入一个文件名,再用 <Return> 结束。
可以看到你指定的文件出现在下方的窗格中,同时光标也跳到了那里。
>> 输入 C-x o 回到上方的窗格,然后再用 C-x 1 关掉下方窗格。
有时候你会进入所谓的“递归编辑”。递归编辑状态由位于状态栏的方括号所指
示,其中包含了用小括号来指明的模式名称。比如说,你有时可能会看到
[(Fundamental)],而不是 (Fundamental)。【比如在用 M-% 进行交互式替换的
时候你又用了 C-s 进行搜索,这时替换模式并没有结束,但你又进入了搜索模式,
这就是所谓的递归编辑。】
离开递归编辑可以用 ESC ESC ESC。这是一个最通用的“离开”命令,你甚至可
以使用它来关掉多余的窗格,或者离开小缓冲。
输入 M-x 进入小缓冲;然后输入 ESC ESC ESC 离开。
你不能用 C-g 退出递归编辑,因为 C-g 的作用是取消“本层递归编辑之内”的
命令和其参数(arguments)。
如果你连自己到底需要什么帮助都不知道,那么就输入 C-h ?
如果你按了 C-h 又想反悔,可以用 C-g 取消.
输入 C-h c 之后再输入一个组合键,Emacs 会给出
这个命令的简要说明。
输入 C-h k C-p。
上面的命令会新打开一个 Emacs 窗格以显示函数的名称及其文档。
输入 C-h f previous-line<Return>。
Emacs 会给出它所知道的所有有关“实现 C-p 命令功能的函数”的信息。
C-h v 用来显示 Emacs 变量的文档。同样,你需要输入变量的名称。
C-h a 相关命令搜索(Command Apropos)。
输入一个关键词然后 Emacs 会列出所有命令名中包含此关键词
的命令。这些命令全都可以用 M-x 来启动。对于某些命令来说,
相关命令搜索还会列出一两个组合键。
C-h i 阅读联机手册(也就是通常讲的 Info)。
这个命令会打开一个称为“*info*”的特殊缓冲区,在那里,
你可以阅读安装在系统里的软件包使用手册。要读 Emacs 的使
用手册,按 m emacs <Return> 就可以了。如果你之前从没用
过 Info 系统,那么请按“?”,Emacs 会带你进入 Info 的使
用指南。在看完本快速指南之后,Emacs Info 会成为你的主要
参考文档。
补充:C-/ 撤销