本文共 2309 字,大约阅读时间需要 7 分钟。
Emacs
1 查找字符串
C-s
然后输入你要查找的字符串 C-s
查找下一个 2 全局替换 首先键入 M-x
命令进入编辑器的小缓冲区,然后键入 replace-string
命令,编辑器提示用户输入要查找的字符串及要替换的字符串。 replace-string
命令不能实现正则表达式的替换,如果要使用正则表达式,必须使用 replace-regexp
命令。 3 查找替换 M-%
(alt+shift+5)命令用来执行查询替换操作。它首先搜索到与模式匹配的字符 串,然后在必要时替换该字符串。要执行查询替换命令,首先键人Esc %命令,然后键入要被替换的模式,并回车,再键入要替换的字符串并回车。完成上述操作之后,将搜索到与被替换的模式匹配的第一个字符串,同时出现几个选 项,每个选项都有与之对应的按键。例如,如果键入y,搜索到的字符串将被替换字符串所替换,同时,光标将位于已被替换掉的字符串上;如果键入n,将取消替 换操作,同时,光标将位于搜索到的字符串上。 其操作步骤如下:
M-%
(然后会出现Query replace的字样)
Query replace:<被替换字符串>
Query replace <被替换字符串> with:<替换字符串>
Query replacing <被替换字符串> with <替换字符串>:(? for help)
查询替换命令的选项如下:
y
或者 空格
键 替换搜索到的字符串
n
或者 Del
键 取消替换搜索到的字符串
^
回到前一个搜索到的字符串
!
替换所有没有替换的与模式匹配的字符串
ESC
键 退出本次查询搜索
与其他查找命令一样,查询搜索命令不允许在输入的查找字符串中使用特殊字符。但如果想使用特殊字符,可以使用 query-replace-regexp
命令,要运行该命令,必须首先键入 M-x
命令进入编辑器的小缓冲区中。
M-a 移动到当前语句的开始
M-e 移动到当前语句的末尾
C-M-a 移动到当前函数的开始
C-M-e 移动到当前函数的结尾
M-q 若光标在注释文本中间,则进行段落重排,保留缩进和前导字符
C-M-h 把光标放在当前函数开头,把文本块标记放在函数结尾,即把函数整个选作为一个文本块。
C-c C-q 对整个函数进行缩进C-x h 选定整个buffer, 然后C-M-/可以对代码进行重新排版 C-c C-u 移动到当前预处理条件的开始位置C-c C-p 移动到上一个预处理条件C-c C-n 移动到下一个预处理条件
M-; 对当前行进行注释
C-x C-x 快速返回移动前的光标位置
C-c C-c 对一块代码进行注释;取消注释用命令 uncomment-region
C-f 光标前进一个字符C-b 光标后退一个字符C-p 上移一行C-n 下移一行M-f 前进一个单词M-b 后退一个单词C-a 行首C-e 行尾M-a 句首M-e 句尾M-{ 上一个段落M-} 下一个段落C-v 屏幕上卷一个屏M-v 屏幕下卷一个屏C-M-v 另一个窗口下卷一个屏幕C-M-V 另一个窗口上卷一个屏幕 M-< 文件头M-> 文件尾 C-u n 或 M-n 重复执行n次后继命令
C-d 删除光标上的字符
DEL 删除光标前的字符
M-d 删除光标后的单词
M-DEL 删除光标前的单词
C-k 从光标位置删除到行尾
C-S-Backspace 删除当前行
C-y 恢复删除最近的一个
M-y 循环恢复删除上一个
文本块操作
C-@ 标记文本块的开始C-x C-x 互换插入点和文本标记的位置M-h 标记整个段落C-x C-p 标记整个页面C-x h 标记整个缓冲区
C-s 向前递增查找
C-r 反向递增查找
C-s C-w 向前递增查找,把光标所在的单词作为查找对象
C-r C-w 反向递增查找,把光标所在的单词作为查找对象
replace-string 查找替换光标后所有的内容
M-% 查询替换操作
对于M-%,需要注意的是其相关的一些操作:
SPACE或y 用新字符串替换原来的,并进入下一个位置
DEL或n 不替换,进入下一个位置
. 在当前位置做替换后退出查询-替换操作
, 替换,并显示替换情况(再按空格或y进入下一个位置)
! 对后面的内容全部进行替换,不再提问
^ 返回上一个替换了的位置
RETURN或q 退出查询替换操作C-r 进入递归编辑状态C-w 删除此处内容并进入递归编辑状态(好进行其他修改)M-C-c 退出递归编辑状态,继续完成查询-替换操作C-] 退出递归编辑状态和查询替换操作
C-M-s Return 向前查找正则表达式
C-M-r Return 反向查找正则表达式
C-M-s 向前递归查找正则表达式
C-M-r 反向递归查找正则表达式
query-replace-regexp 查询-替换正则表达式
replace-regexp 无条件替换正则表达式(慎用)
正则表达式中的字符:
^ 匹配行首
$ 匹配行尾
. 匹配任意单个字符
.* 匹配任意个字符
/< 匹配单词的开头
/> 匹配单词的结尾
[] 匹配[]中的任何一个字符,如[a-z]匹配任何一个小写字母
转载地址:http://rentb.baihongyu.com/