二 Emacs 的基本模式和编辑特性
Emacs 模式是一些函数。要调用其中某个函数,您需要输入 M-x
,然后给出模式名
模式 | 函数 | 类型 | 描述 |
---|---|---|---|
Fundamental | fundamental-mode | 主要模式 | 这一模式是缺省的 Emacs 模式,拥有最少设置和绑定。 |
Text | text-mode | 主要模式 | 这一模式是编辑文本的基本模式。 |
Abbrev | abbrev-mode | 次要模式 | 这一模式用于生成和使用缩写(请参见 Abbrev 模式)。 |
Auto Fill | auto-fill-mode | 次要模式 | 这一模式用于自动文字回绕、填充较长的行和段落。 |
Overwrite | overwrite-mode | 次要模式 | 这一模式用于覆盖缓冲区中任何现有的文本,而不是在当前位置插入文本。在缺省情况下,它与 Ins 键绑定。 |
C | c-mode | 主要模式 | 这一模式用于编辑 C 程序源代码。 |
Line Number | line-number-mode | 次要模式 | 这一模式用于显示当前行号。 |
Lisp Interaction | lisp-interaction | 主要模式 | 这一模式用于编辑和编译 Lisp 代码。 |
Paragraph-Indent Text | paragraph-indent-text-mode | 主要模式 | 这一模式是 Text 模式的一种特殊变体,其中的段落移动命令可用于首行缩进的段落,而不仅仅是由空行隔开的段落。 |
TeX | tex-mode | 主要模式 | 这一模式用于编辑 TeX 文档。 |
WordStar | wordstar-mode | 主要模式 | 这一特殊模式提供了 WordStar 编辑器的键绑 |
C-t
,transpose-chars
函数,以调换光标前的单个字符和光标后的单个字符;使用 M-t
,transpose-words
函数,以调换光标前后的单个单词;transpose-lines
函数,C-x C-t
,可以调换光标所在的行和光标前面的行
uppercase-word
函数(绑定到 M-u
)可以将光标处到光标所在词的词尾之间的所有文本都转换为大写字母。类似地,downcase-word
(绑定到 M-l
)可以将光标处到光标所在词的词尾之间的所有文本转换为小写字母
绑定 | 命令或者函数 | 描述 |
---|---|---|
C-x C-i 、C-x Tab | indent-rigidly | 这一命令对区域中的(或光标所在的)行进行缩进。 |
fill-region | 这一命令填充区域里的所有段落。 | |
M-q | fill-paragraph | 这一命令填充光标所在的单个段落。 |
M-/ | delete-horizontal-space | 这一命令删除光标左右的任何水平间距。 |
C-o | open-line | 这一命令以垂直间距在光标下方打开一个新行,而不移动光标。 |
C-t | transpose-chars | 这一命令调换光标左右的单个字符。 |
M-t | transpose-words | 这一命令调换光标左右的单个单词。 |
C-x C-t | transpose-lines | 这一命令调换光标所在的行与光标前面的行。 |
M-^ | delete-indentation | 这一命令将光标所在的行和前面的行连接起来。以 C-1 作为开始,以连接光标所在的行和下一 行。 |
M-u | uppercase-word | 这一命令将光标处到其所在词的词尾之间的文本转换为大写字母。 |
M-l | downcase-word | 这一命令将光标处其所在词的词尾之间的文本转换为小写字母。 |
C-x C-l | downcase-region | 这一命令将区域中的内容转换为小写字母。 |
C-x C-u | upcase-region | 这一命令将区域中的内容转换为大写字母。 |
绑定 | 命令或者函数 | 描述 |
---|---|---|
C-s [字符串] [C-w ] [C-y ] | isearch-forward | 前向增量地在整个缓冲区中搜索字符串(在缺省情况下,将搜索您上一次给出的搜索字符串,如果存在);C-w 使用从光标处到光标所在单词的词尾之间的文本,连续按则依次增加后续的单词为搜索对象;以及 C-y 使用从光标处到光标所在行的行尾之间的全部内容。 |
C-r [字符串] [C-w ] [C-y ] | isearch-backward | 后向增量地在整个缓冲区中搜索字符串(在缺省情况下,将搜索您上一次给出的搜索字符串,如果存在),C-w 使用从光标处到光标所在单词的词尾之间的文本,C-y 使用从光标处到光标所在行的行尾之间的全部内容。 |
C-s Enter C-w 单词或者短语 | word-search-forward | 在整个缓冲区中前向搜索给定的单词或者短语(不管它们之间如何分隔)。 |
C-r Enter C-w 单词或者短语 | word-search-backward | 在整个缓冲区中后向搜索给定的单词或者短语(不管它们之间如何分隔)。 |
C-M-s | isearch-forward-regexp | 在整个缓冲区中前向增量搜索给定的正则表达式。 |
C-M-r | isearch-backward-regexp | 在整个缓冲区中后向增量搜索给定的正则表达式。 |
replace-string | 从光标处到缓冲区末尾搜索给定的字符串,并使用给定的字符串来替换它。 | |
replace-regexp | 从光标处到缓冲区末尾搜索给定的正则表达式,并使用给定的字符串来替换它。 | |
M-% | query-replace | 从光标处到缓冲区末尾搜索给定的字符串,对于搜索到的每个实例,询问(如表 4 中所述)是否使用给定的字符串来进行替换。 |
C-M-% | query-replace-regexp | 从光标处到缓冲区末尾搜索给定的正则表达式,对于搜索到的每个实例,询问(如表 4 中所述)是否使用给定的字符串来进行替换。 |
emacs还有语法检查功能