Emacs 命令通常包含有 CONTROL 键(有时候以 CTRL 或 CTL 来标示)或是
META 键(有时候以 EDIT 或 ALT 来标示)。为了避免每一次都要写出其全名,
我们将会使用下述的缩写:
C-<chr> 表示按住 CONTROL 键的同时键入字符 <chr> 。例如 C-f 就是:按
住 CONTROL 键再键入 f 。
M-<chr> 表示按住 META 键再键入字符 <chr> 。 如果没有 META 键时,可以
用「按一下 ESC 键」来替代 META。我们以 <ESC> 来表示 ESC 键。
* SUMMARY
-----------------
C-v 向前移动一个屏幕/窗格 = PageUp
M-v 向后移动一个屏幕/窗格 = PageDn
C-l 清除屏幕/窗格,再重新显示所有文字,
光标所在位置显示於屏幕/窗格的中央。
(是 CONTROL-L 而不是 CONTROL-1)
* BASIC CURSOR CONTROL
----------------------------------------
META 用作与「以语言定义出的单位(字、句子、段落)」有关的操作
CONTROL 用作「与您所编辑无关的『基本』单位(字符或行等)」上。
C-f 往前移动一个字符
C-b 往回移动一个字符
M-f 往前移动一个字【中文是移动到下一个标点符号】
M-b 往回移动一个字【中文是移动到上一个标点符号】
C-n 移动到下一行(往下移)
C-p 移动到上一行(往上移)
C-a 移动到行首
C-e 移动到行尾
M-a 移回句首
M-e 移到句尾
M-< (META Less-than),移动到文字的最开始,
M-> (META Greater-than),移动到文字的最后。
P 表示 previous
N 表示 next
B 表示 backward
F 表示 forward
C-u 数字参数其它命令
M 数字参数其它命令
大部份的 Emacs 命令接受数字参数;对大部份的命令而言,它的作用是指定重
复次数。
C-g 停止当前命令,或取消操作
* INSERTING AND DELETING
--------------------------------------
<Return> carriage-return
C-u 重复数字符 重复输入N个字符
<Delback> 删除光标 前一个字符
C-d 删除光标 后一个字符
M-<Delback> 删除光标 前一个字
M-d 删除光标 后一个字
C-k 删除从光标到「行尾」的字符
M-k 删除从光标到「句尾」的字符
C-@
C-SPC 设置Mark Set(任一个即可)。
C-w 杀掉选中文字(剪切)
C-y 拉回(yanking)(粘贴)
M-y 拉回上次、上上次……的内容
「拉回(yanking)」:即“粘贴”
「杀掉(killing)」:即“剪切”,可以yanking
「删除(deleting)」:不能yanking
C-x u
C-/
C-_ Undo
C-x C-f 打开文件(visiting file,find file)
C-x C-s 保存文件
注意:在某些系统中,键入 C-x C-s 将会把屏幕冻结,您将看不到从 Emacs 来
的任何输出。这表示操作系统一个称为「流程控制」的「功能」将 C-s 命令拦
截住,并且不让它传到 Emacs。要取消屏幕的冻结,请键入 C-q。然后到 Emacs
使用手册中看看对於「渐进式搜寻的同时进入(Spontaneous Entry to
Incremental Search)」这个主题,以取得处理这个「功能」的建议。
Emacs 将每个文件的文字在「缓冲区(buffer)」中。
打开一个文件会在 Emacs 内部建立一个缓冲区。
C-x C-b 列出缓冲区
C-x b 编辑某个缓冲区(要求输入缓冲区名)
C-x s 询问是否要保存所有修改过的缓冲区。
* EXTENDING THE COMMAND SET
-----------------------------------------
C-x 字符扩充。后面跟著一个字符。
M-x 有名称的命令扩充。后面跟著一个长的名称。
键入 M-x 时,Emacs 会询问您命令的名称。
C-z 是 *暂时* 退出 Emacs 的命令
C-x C-c 退出
其它 C-x 命令。
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 replace-string s<Return>changed<Return>altered<Return>
* AUTO SAVE
-----------------------
M-x recover file<Return> 从自动保存文件中恢复
* MODE LINE
---------------------
--:** TUTORIAL.cn (Fundamental)--L670--58%----------------
-- 就是您找的文件。
-NN%-- 有 NN 百分比的文字位在窗格的上面。
如果文件的顶端就位在窗格中,那么它就会显示 --Top--
如果文件的底部就位在窗格中,那么它是显示 --Bot--
如果在窗格中足以看到全部的内容,那么状态行就会显示 --All--
L 目前所在的行数(Line)。
编辑模式
如 Lisp 模式、 Text 模式,C/C++模式……
主要(major)、次模式(minormode)
次要的模式不是主模式的后选,而是次要的更改
每个次模式可以自身启用或停止,和所有其它的次模式无关
可以组合任何数量的次模式
M-x fundamental-mode<Return> Fundamental 模式
M-x text mode<Return> Text模式
M-x auto fill mode<Return> Auto Fill 模式(自动换行,即所谓的fill)
Auto Fill 只在空白处断行。
M-q Auto Fill re-fill
C-x f Auto Fill 改变每行的长度(连界)
C-u 2 0 C-x f 以 20 个字符,进行 fill
C-h m 列出所有模式
* SEARCHING
-------------------
Emacs 搜寻命令与大部分编辑器的搜寻命令不同的地方在於,它是「渐进的
(incremental)」。这表示搜寻发生在您键入想要搜寻的文字串后。
「I-search」:「渐进式搜寻」
C-s 往前搜寻
C-r 往回搜寻
C-g 也可以用来结束搜寻。
<Return> 结束搜寻。
* MULTIPLE WINDOWS
------------------------------
C-u 0 C-l 移动光标到当前行
C-u XXX C-l 移动到XXX行
C-x 1 仅保留当前窗格(光标所在的窗格)
C-x 2 水平拆分当前窗格
C-x 3 垂直拆分当前窗格
C-M-v 卷动下方的窗格。(键入 ESC C-v 亦可。)
C-x o (o是other的意思),将光标移动到下方的窗格。
C-x 4 C-f 在新窗格中打开文件,并编辑之
C-x 5 C-f 新启动一个的Emacs,在之中打开文件
* RECURSIVE EDITING LEVELS
------------------------------------------
有时候您会进入所谓的「递归编辑阶层」。它是由位在状态行的方括弧所指明,
并且包含住以小括弧来指明的模式名称。举例来说,您可能会看到
[(Fundamental)],而不是 (Fundamental)。
<ESC> <ESC> <ESC> 全功能命令,退出递归编辑
也可以用来关闭多余的窗格,并且退出小缓冲区。
* GETTING MORE HELP
-------------------------------------
C-h 查询需要帮助的字元
C-h ? Emacs 将会告诉您它能够提供的帮助。
M-x help
C-h c 查看简要说明
C-h k 查看详细说明
C-h f 解释一个函数。您要键入此函数的名称。
C-h f previous-line<Return>
C-h v 「您可以用来定制 Emacs 行为的变数」的文档。
C-h a 命令相关查找(Command Apropos)。
键入一个关键字然后 Emacs 会列出所有「在其名称中含有此
关键字」的全部命令。这些命令全部都可以经由 META-x 来启
动。对於一些命令而言,命令相关查找也会列出「可以执行相
同命令」的一个或两个字符的串列。
C-h i 阅读在线使用手册(a.k.a. Info)。
这个命令将您带到了称为「*info*」的特殊缓冲区,在那,您
可以阅读安装在您的系统里的软件包的在线使用手册。键入
m emacs <Return> 以阅读 Emacs 使用手册。如果您在此之前
未曾使用过 Info 系统,请键入『?』。 Emacs 将会带您进入
Info 模式功能的导览指南。一旦完成了本快速指南的研读,
您应该查阅 Emacs Info 使用手册,以作为主要的参考文档。