Emacs教程–文本操作

基本文本操作

缩写定义:
在次要模式Abbrev下可以定义缩写,具体操作命令如下

C-x a I g
C-x a g j将已经写好单词定义为缩写
M-x kill-all-abbrevs  删除所有定义的缩写

缩进

键盘输入 函数 描述
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-c 这一命令将光标处单词首字母改为大写
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 中所述)是否使用给定的字符串来进行替换。

query-replace 可使用的筛选项

描述
空格、y 替换这个匹配。
Del、n 跳过这一匹配到下一个匹配。
Enter、q 退出 query-replace。
. 进行本次替换,然后退出 query-replace。
进行本次替换,将光标移动到此处,然后退出 query-replace。
C-r 指定递归编辑。
C-w 删除这个匹配并递归编辑。
C-l 重绘屏幕,并使这一行位于屏幕正中位置。
! 继续进行所有的替换,而无需再次询问。
E 编辑替换的字符串。
^ 退回到前一次替换。

拼写检查

通过M-x flyspell-mode 进入Flyspell模式

键盘输入 函数 描述
M-$ ispell-word 调用 Ispell 以检查光标处单词的拼写。
ispell-region 调用 Ispell 以检查某一区域中的拼写。
ispell-buffer 调用 Ispell 以检查从光标处到缓冲区末尾的所有单词的拼写。
flyspell-mode 在您输入内容的同时,调用 Ispell 以便在后台检查缓冲区中所有单词的拼写,突出显示所有的拼写错误。

Flyspell 模式的键绑定

绑定 描述
M-$ 调用 Ispell 以检查光标处单词的拼写。
M-x flyspell-auto-correct-word,M-Tab 根据 Ispell 给出的修改建议,自动地纠正最近一个拼写错误的单词。
M-x flyspell-auto-correct-previous-word 根据 Ispell 给出的修改建议,自动地纠正前面拼写错误的单词。
M-x flyspell-correct-word,B2 显示单词建议的弹出菜单。

Ispell 单词替换命令

描述
字符 使用以(字符)开头的替换建议。
空格 在此上下文中接受这个单词作为更正。
i 接受这个单词作为更正并将其插入到个人字典文件。
a 仅对于此次 Emacs 会话接受这个单词作为更正。
A 仅对于此次 Emacs 会话中的缓冲区,接受这个单词作为更正。
r 使用您输入的字符串替换这个单词(Ispell 会再次进行拼写检查)。
R 使用您输入的字符串替换这个单词(Ispell 会再次进行拼写检查),并对整个缓冲区的剩余部分运行 query-replace。
l 使用给定的字符串替换这个单词,并在给定的字典文件中查找这个新的字符串。
u 将这个单词的小写形式插入到个人字典文件。
m 使用给定的字符串替代这个单词,将其保存到个人字典,然后再次对该单词进行拼写检查。
C-l 使当前行位于屏幕中心位置。
C-r 进入一个递归编辑。
C-z 挂起 Emacs。(In X 窗口系统中,这个操作将对 Emacs 客户端窗口进行图标化。)
x 退出拼写检查,并将光标移回到它的原始位置。
X 退出拼写检查,并使光标位于它当前所在的位置。
q 立刻结束拼写检查。
? 显示选项菜单。

Tips:在linux上没有Ispell 需要安装aspell,aspell-en.x86_64,最后修改 .emacs问题,添加如下内容

;; use apsell as ispell backend
(setq-default ispell-program-name "aspell")
;; ;; use American English as ispell default dictionary
(ispell-change-dictionary "american" t)

发表评论

电子邮件地址不会被公开。 必填项已用*标注