在emacs里面,很多东西的叫法都和平时常常遇到的不太一样。比如开个窗口,不叫window,叫作frame。还有,每个frame里面的窗口,叫作buffer。
启动emacs的时候,默认打开了一个frame,这个frame里面有几个buffer。如果你再开一个frame,看起来,就好像又开了一个emacs似的。下面说说buffer。
每个buffer都会对应于一个主模式,此外,buffer还可以有0到无穷多个辅助模式。这些模式,对buffer里面的文本,进行了各种修饰,还提供了各种各样的特殊化操作。比如语法的加亮,缩进,配对等等,这些都是主模式和辅模式共同作用的结果。比如,对选中的文本进行加亮,就是一个辅助模式起的作用(transient-mark-mode)
用c-h m可以查看当前主模式的按键定义信息。
要启动一个主模式,可以用m-x后面跟主模式名就可以了。如果名字记不得,还可以用tab进行自动补齐。另外,还可以通过auto-mode-alist,让emacs根据不同的文件,自己启动不同的主模式。比如根据py文件启动python的主模。要关闭一个主模式,只需要切换到其他的模式就可以了,一个比较通用的模式是fundamental-mode。切换到这个主模式,相当于关闭了当前的主模式。
要启动或者关闭一个辅模式,用m-x就可以了,emacs会自动判断是应该打开还是关闭的。
下面说一下buffer的相关操作
在emacs启动的时候,就会打开两个buffer。一个叫做"*Messages*",它显示了emacs启动时候的各种信息。如果配置文件有问题,这里会有显示。另一个buffer是"**Scratch",顾名思义,它就是一个草稿。就如同它里面的介绍一样,这个buffer是个notes,用来记录所有不打算保存的内容。同时,还可以进行lisp运算,真的是很好很强大。
下面是一些buffer相关的操作:
c-x c-b 列出缓冲区:在这里面,可以操作buffer,d标记删除,r是重命名,u取消标记,x执行操作
c-x b 缓冲区名字 :打开指定的缓冲区。如果直接回车,会回到上一个buffer
c-x k 关闭缓冲区
本文介绍了 Emacs 编辑器中 buffer 和 frame 的概念,以及如何进行 buffer 的相关操作,包括列出、打开、关闭 buffer 等,并解释了主模式和辅助模式的功能。


被折叠的 条评论
为什么被折叠?



