Emacs 学习笔记

23 Oct 2017 by 晓晨


主要是 C-h t 打开的 tutorial 的笔记,还有一些使用过程中补充的内容。

有很多东西都学得半途而废,尤其是 Vim 和 Haskell,说到底是没有一直用下去。这些技能本身确实有难度,和自己之前用的又很不一样,不容易坚持用下去。这回打算好好学下 Emacs,坚持用下去,从一开始就用 Emacs 记录学习笔记。

文件

Buffers

X (eXtend) command

前面学过的命令,

C-x C-f		Find file
C-x C-s		Save file
C-x s		Save some buffers
C-x C-b		List buffers
C-x b		Switch buffer
C-x C-c		Quit Emacs
C-x 1		Delete all but one window
C-x u		Undo

自动保存

Emacs 会周期性地自动保存文件为“#原文件名#”,一旦手动保存过,就会删掉这个自动保存的版本。 如果电脑崩溃了,可以 find 原来的文件名,然后 recover-file 恢复自动保存的版本。

Echo Area

如果 Emacs 看你输入一个多字符的命令时比较慢,会在屏幕底部一个叫做 echo area 的区域显示。

Echo area 包含屏幕最底下的一行。

Mode Line

搜索

搜索一个字符串是一个光标动作命令(cursor motion command),它将移动光标到下一个匹配的位置。

C-s 从当前光标位置开始搜索,随着输入要搜索的字符串,自动定位到第一个匹配,按 <DEL> 在删除要搜索的字符串中最后一个字符的同时,会定位到之前的匹配,倒不是因为按了 <DEL> 的特殊效果,因为要搜索的字符串变了,所以自动定位到离一开始光标位置最近的第一个匹配的地方。

如果 C-s 输入要搜索的字符串之后再按 C-s 会接着定位下一个匹配,此时如果再按 <DEL> 不会修改要搜索的字符串,而是会跳转到前一个匹配位置,直到没有前一个匹配,此时开始删要搜索的字符串。

C-r 只是方向不同。

多窗口 Multiple Windows

注意 Emacs 中把其它程序中的 windows 叫做 frames。

这节说的是 Emacs 中的 windows。

Multiple Frames

就是图形界面(graphical displays)下的窗口。在命令行界面(text terminal)下,只能有一个 frame。

Recursive Editing Levels

有时会进入 recursive editing levels,也没说啥时候,反正就是有时候会进入就是了,进入的标志就是主模式名字外面的圆括号(parentheses)外面还有方括号(square brackets),比如 [(Fundamental)] 而不是 (Fundamental)。

退出方法就是 ,也可以用来,

C-g 不能用来退出 recursive editing levels,因为它只能取消 level 内的命令(canceling commands and arguments WITHIN the recursive editing level)。

帮助

更多功能

自动补全在 manual 的“Completion”节点,C-h r m Completion。

Dired(Directory Editor)像操作文本一样操作文件,在 manual 的“Dired”节点。