第一章 Emacs 基础
1.1 理解文件和缓冲区的不同
编辑器并不是对某个文件本身进行编辑。事实上,他们会先把文件的内容放到一个临时性的缓冲区里,然后再对缓冲区里的东西进行编辑。在通知编辑器保存缓冲区的内容之前,存放在磁盘上的原始文件是不会发生任何变化的。
记住:虽然缓冲区看起来与文件非常相像,但他只是一个临时性的工作区域,里面可能包含的是文件的一份副本。
1.2 Emacs 环境
其实Emacs的各种mode就是UltraEdit中的View->Environments
Table 1-1. Emacs 中的几种模式
模式 | 功能 |
Fundamental mode | 缺省模式 |
Text mode | 文字书写 |
View mode | 查看文件,但不进行编辑 |
Shell mode | 在Emacs中运行shell |
Outline mode | 书写大纲 |
Indented text mode | 自动缩进文本 |
Paragraph indent text mode | 首行自动缩进文本 |
Picture mode | 使用键盘绘制ASCII图形 |
HTML mode | HTML编写 |
SGML mode | SGML和XML编写 |
LaTeX mode | 对TEX和LATEX进行排版 |
Compilation mode | 程序编译 |
cc mode | C、C++和Java编写 |
Java mode | Java编写 |
Perl mode and Cperl mode | Perl编写 |
SQL mode | 已经连接到数据库的SQL编写 |
Emacs Lisp mode | Emacs Lisp功能编写(编写的Lisp只针对Emacs) |
Lisp mode | Lisp编写 |
Lisp interaction mode | 条件格式(同Excel中格式->条件格式) |
Table 1-2 几种辅助mode
模式 | 功能 |
Auto-fill mode | 开启字换行(word wrap)功能 |
Overwrite mode | 打字时替换而不是插入字符 |
Auto-save mode | 把文件按一定周期自动保存到一个特殊的临时文件里 |
Isearch mode | 搜索 |
Flyspell mode | 相当于Word中工具->拼写和语法 |
Flyspell prog mode | 在Flyspll模式中实时检查 |
Abbrev mode | 允许使用单词的简写形式 |
Paragraph indent text mode | 任何段落首行缩进 |
Refill mode | 当你编辑一个段落时Emacs尝试填充剩余部分 |
Artist mode | 使用鼠标绘制ASCII图形 |
Outline mode | 书写大纲 |
SGML name entity mode | 插入指定符号到HTML、SGML和XML文档 |
ISO accents mode | 插入特殊符号到文本文件中 |
Font lock mode | 字体高亮 |
Compilation mode | 程序编译 |
Enriched mode | 保存文本属性 |
VC mode | 在Emacs使用版本控制 |
Info mode | Emacs读文档拥用的一些信息 |
1.3 Emacs命令
Emacs的所用命令都是以组合键加字母组成的。以两种组合键CTRL和Alt(Meta键,如果有的话)为主。简写为C-和M-。
C-h获得帮助
C-h r Emacs手册
C-h t Emacs指南
C-h i 浏览手册
C-x u 回退操作
C-z 临时性的挂起Emacs
C-x C-c 退出Emacs
C-x C-f 新建文件
C-x C-s 保存文件
C-x C-w 另存为…
M-` 激活菜单
全部系统默认命令:
请参见附录2。