Emacs Vim 常用命令

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

Emacs 中的光标移动

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次后继命令

Emacs中的删除

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]匹配任何一个小写字母

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值