【emacs tutorial】是熟悉 emacs 的入门资料。一共几十个命令,不需硬记,勤练即可。
翻页命令:
C-v:向前移动一屏
M-v:向后移动一屏
C-l:重绘屏幕,并将光标所在行置于屏幕的中央
光标控制:
C-n:移动到下一行(next)
C-p:移动到上一行(previous)
C-f:向右移动一个字符(forward)
C-b:向左移动一个字符(backward)
M-f:向右移动一个词【对中文是移动到下一个标点符号】
M-b:向左移动一个词【对中文是移动到上一个标点符号】
C-a:移动到行首
C-e:移动到行尾
M-a:移动到句首
M-e:移动到句尾
M-<:移动到所有文字的最开头
M->:移动到所有文字的最末尾
在大部分键盘上,大于号、小于号需要用 Shift 来输入。
数字参数:
C-u n cmd:命令 cmd 重复执行 n 次。
例如:C-u 8 C-f 会向前移动 8 个字符。
终止命令:
C-g:可以终止一条执行过久的命令,也可以取消数字参数和只输入到一半的命令。
关掉其他窗格:
C-x 1:关掉其它所有窗格
有一系列命令是以 C-x 开始,这些命令许多都跟“窗格、文件、缓冲区(buffer)”等等有关。
插入和删除:
<Delback>:删除光标前的一个字符
C-d:删除光标后的一个字符
M-<Delback>:移除光标前的一个词
M-d:移除光标后的一个词
C-k:移除从光标到“行尾”间的字符
M-k:移除从光标到“句尾”间的字符
在 Windows 键盘中,Backspace 键就是 <Delback>。
移除缓冲区里的任何一部分:
先将光标移到想移除区域的一端,按 [email protected],再将光标移到另一端,按 C-w 就可以把两点间的文字移除
召回移除的文字:
C-y:在光标处插入最后移除的内容
连续按 C-y,可以连续召回最后移除的文字,这实际上实现了复制的功能。
M-y:在光标处插入前一次移除的内容
连续按 M-y,可以召回更前一次被移除的内容。
撤销:
C-x u:消除一个命令所造成的所有改变
文件:
C-x C-f:寻找一个文件
C-x C-s:储存这个文件
如果寻找不存在的文件,就会创建新文件。不过只有在存盘时,Emacs才会真正创建文件。
可以用 C-x C-f 打开多个文件,要切回第一个文件,同样可以用 C-x C-f。
缓冲区:
Emacs 把每个编辑中的文件都放在一个称为“缓冲区(buffer)”的地方。每寻找到一个文件,Emacs 就在其内部开辟一个缓冲区。
C-x C-b:列出当前所有的缓冲区
C-x b:切换缓冲区
C-x s:保存多个缓冲区
缓冲区和文件是对应的,所以也可以用 C-x C-f 切换缓冲区。
不过,缓冲区未必都有对应文件:比如 “*Messages*” 缓冲区就没有对应文件,它存放的都是在 Emacs 底部出现的消息。
命令集扩展:
C-x:字符扩展(C-x 之后输入另一个字符或者组合键)
M-x:命令名扩展(M-x 之后输入一个命令名)
C-x 的扩展命令有很多,上面已经学过 C-x C-f、C-x C-s 等等。再比如:
C-x C-c:离开 Emacs
命令名扩展比如:
M-x replace-string:在全文范围内把一个字符串替换成另一个
自动保存:
Emacs 会定期将正在编辑的文件写入一个“自动保存”文件中,文件名是在原有文件名的头尾各加一个 “#” 字符。该文件会在正常存盘后被删除。
M-x recover file<Return>:恢复文件
切换主模式:
M-x text mode<Return>:切换到text模式(当然也可以切换到 Fundamental 等其他模式)
C-h m:查看当前主模式的文档
辅模式:
辅模式提供一些辅助的功能。每个辅模式都可以独立地开启和关闭,跟其它辅模式无关,跟主模式也无关。如:
M-x auto fill mode<Return>:启动/关闭“自动折行模式”
C-u 80 C-x f:将每行最大字符数设置为 80
M-q:手动折行(光标必须位于需要折行的那一段)
搜索:
C-s:向下搜索
C-r:向上搜索
Emacs是渐进式(incremental)搜索,意思是搜索与输入同时进行。
再按一次 C-s,搜索下一个出现的位置。按 <Return> 可以结束搜索。
多窗格:
C-x 2:将屏幕划分成两个窗格,光标停留在上方的窗格里
C-M-v:向下滚动下方的窗格(在一个窗格中编辑,用另一个窗格作为参考时很有用)
C-M-S-v:向上滚动下方的窗格(同时按住 CONTROL、META 和 SHIFT 再按 v)
C-x o:将光标转移到其他窗格
C-x 4 C-f:寻找的文件出现在下方的窗格中,同时光标也跳到那里
获得更多帮助:
Emacs 提供了一些命令来查看命令文档,这些命令都以 Ctrl-h 开头。
C-h ?:Emacs会列出它能提供哪些帮助
C-h c C-p:Emacs 会给出这个命令(C-p)的简要说明
C-h k C-p:新打开一个窗格以显示函数的名称及其文档
C-h f previous-line<Return>:解释一个函数(previous-line)
C-h v:显示 Emacs 变量的文档(变量可以被用来“定制 Emacs 的行为”)
C-h a:相关命令搜索(输入一个关键词后,Emacs会列出所有命令名中包含此关键词的 M-x 命令列表)
C-h i:阅读联机手册(也就是通常讲的 Info)
C-h i 命令会打开一个称为 “*info*” 的特殊缓冲区,在那里可以阅读软件使用手册。按 m emacs <Return> 可以阅读 Emacs 的使用手册。按“?”会进入 Info 的使用指南。Emacs Info 会是我们主要的参考文档。