博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Emacs Vim 常用命令
阅读量:2361 次
发布时间:2019-05-10

本文共 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

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

转载地址:http://rentb.baihongyu.com/

你可能感兴趣的文章
抱歉,进程android.process.media,已停止运行的解决办法
查看>>
第一个helloword小例
查看>>
oracle新建方案
查看>>
android的坑
查看>>
java.net.SocketException:socket failed:EACCES (Permission denied)
查看>>
android.os.NetworkOnMainThreadException
查看>>
Android:单元测试Junit的配置
查看>>
国际产业
查看>>
制造业
查看>>
混沌的有关概念——1
查看>>
混沌的有关概念——2
查看>>
混沌理论的简要观点
查看>>
知识的经济学分析:一个文献综述——基于范式演进的视点
查看>>
reading the path of picture
查看>>
Could a 32bit software install on a 64bit-system computer
查看>>
No reship system to recovery disk AHCI diriven and just do it
查看>>
debug compare with release
查看>>
QT5.7 deploys opencv2.4.13(the version of opencv is not newer than QT)
查看>>
the principle of laplacian filter
查看>>
WinCE动态修改启动LOGO
查看>>