(original) (raw)

区块编辑

如何选中区块,可以参考“区块选择”一节

需要补充的是,完成区块选择时,实际定义了两种区块 :

---XXXXXxxx xxxXXXXXxxx xxxXXXXXxxx xxxXXXXX---

_---_代表没有被选中的区域

_连续区块_为标记和光标点之间连续的区块;字符 X 和 x 均为连续区块

_矩形区块_为标记和光标点之间矩形的区块;大写字符 X 为矩形区块

表 25.6. Emacs 区块编辑

连续区块
C-SPC M-x set-mark-command 在光标点处设置标记
C-@ 同上 建议使用 C-t
M-@ M-x mark-word 在单词结尾处设置标记
M-h M-x mark-paragraph 选中段落
M-x mark-end-of-sentence 在句末设置标记
C-x h M-x mark-whole-buffer 整个缓冲区
C-x C-x M-x exchange-point-and-mark 交换标记和光标点
C-w M-x kill-region 剪切区块
M-w M-x kill-ring-save 复制区块
C-y M-x yank 粘贴区块
M-y M-x yank-pop 队列粘贴
矩形区块
C-x r k M-x kill-rectangle 删除矩形区块
C-x r y M-x yank-rectangle 粘贴上一次删除的矩形区块
C-x r t M-x string-rectangle 用指定字符填充
C-x r o M-x open-rectangle 用空格插入
C-x r c M-x clear-rectangle 用空格填充
C-x r r M-x copy-rectangle-to-register 拷贝到寄存器中

搜索和替换

Emacs中,默认使用 增量搜索 :在搜索对话模式中输入关键词的同时,Emacs 就开始进行搜索,随着关键字的输入,不断的缩小搜索范围

而传统的非增量搜索,则是关键词输入后,再进行搜索。

表 25.7. Emacs 搜索

增量搜索
C-s M-x isearch-forward 向前增量搜索
C-r M-x isearch-backward 向后增量搜索
C-M-s M-x isearch-forward-regexp 正则表达式向前增量搜索
C-M-r M-x isearch-backward-regexp 正则表达式向后增量搜索
询问替换
M-% M-x query-replace 询问替换
C-M-% M-x query-replace-regexp 正则表达式询问替换
搜索
M-x search-forward 向前搜索
M-x search-backward 向后搜索
M-x search-forward-regexp 正则表达式向前搜索
M-x search-backward-regexp 正则表达式向后搜索
替换
M-x replace-string 替换
M-x replace-regexp 正则表达式替换

其它

插入控制字符

使用 C-q ,可以在缓冲区插入一个控制字符。例如:

C-q C-m = ^M

文本换位

表 25.8. Emacs 其它

字符 C-t M-x transpose-chars
单词 M-t M-x transpose-words
C-x C-t M-x transpose-lines

将 TAB 字符转换为空格

选中需要转换的区域, M-x untabify

对齐文本块

选中需要对齐的区域, M-x indent-region