vim 批量查找替换
当前行进行替换:s/XXX/YYY/gXXX是需要替换的字符串,YYY是替换后的字符串。
全局替换:% s/XXX/YYY/g.
对指定部分进行替换用V进入visual模式,再进行:s/XXX/YYY/g.
或指定行范围 替换::100, 102s/XXX/YYY/g.
替换字符串中的"/" 用"\"转义,即用"\/"表示。
查找在:中输入? 或/ ,然后按n或N向后或向前查找
Vi指令大全
Wikipedia,自由的百科全书
进入vi的命令
vi filename: 打开或新建文件,并将光标置于第一行首
vi +n filename: 打开文件,并将光标置于第n行首
vi + filename: 打开文件,并将光标置于最后一行首
vi +/pattern filename: 打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename: 在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename: 打开多个文件,依次进行编辑
移动光标类命令
h: 光标左移一个字符
l: 光标右移一个字符
space: 光标右移一个字符
Backspace: 光标左移一个字符
k或Ctrl+p: 光标上移一行
j或Ctrl+n: 光标下移一行
Enter: 光标下移一行
w或W : 光标右移一个字至字首
b或B : 光标左移一个字至字首
e或E : 光标右移一个字至字尾
): 光标移至句尾
(: 光标移至句首
}: 光标移至段落开头
{: 光标移至段落结尾
nG: 光标移至第n行首
n+: 光标下移n行
n-: 光标上移n行
n$: 光标移至第n行尾
H: 光标移至屏幕顶行
M: 光标移至屏幕中间行
L: 光标移至屏幕最后行
0: 光标移至当前行首
$: 光标移至当前行尾
屏幕翻滚类命令
Ctrl+u: 向文件首翻半屏
Ctrl+d: 向文件尾翻半屏
Ctrl+f: 向文件尾翻一屏
Ctrl+b: 向文件首翻一屏
nz: 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。
插入文本类命令
i: 在光标前
I: 在当前行首
a: 光标后
A: 在当前行尾
o: 在当前行之下新开一行
O: 在当前行之上新开一行
r: 替换当前字符
R: 替换当前字符及其后的字符,直至按ESC键
s: 从当前光标位置处开始,以输入的文本替代指定数目的字符
S: 删除指定数目的行,并以所输入文本代替之
ncw或nCW: 修改指定数目的字
nCC: 修改指定数目的行
删除命令
ndw或ndW: 删除光标处开始及其后的n-1个字
do: 删至行首
d$: 删至行尾
ndd: 删除当前行及其后n-1行
x或X: 删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u: 删除输入方式下所输入的文本
搜索及替换命令
/pattern: 从光标开始处向文件尾搜索pattern ?pattern: 从光标开始处向文件首搜索pattern n: 在同一方向重复上一次搜索命令 N: 在反方向上重复上一次搜索命令 :s/p1/p2/g: 将当前行中所有p1均用p2替代 :n1,n2s/p1/p2/g: 将第n1至n2行中所有p1均用p2替代 :g/p1/s//p2/g: 将文件中所有p1均用p2替换
选项设置
all: 列出所有选项设置情况
term: 设置终端类型
ignorance: 在搜索中忽略大小写
list: 显示制表位(Ctrl+I)和行尾标志($)
number: 显示行号
report: 显示由面向行的命令修改过的数目
terse: 显示简短的警告信息
warn: 在转到别的文件时若没保存当前文件则显示NO write信息
nomagic: 允许在搜索模式中,使用前面不带“\”的特殊字符
nowrapscan: 禁止vi在搜索到达文件两端时,又从另一端开始
mesg: 允许vi显示其他用户用write写到自己终端上的信息
最后行方式命令
:n1,n2 co n3: 将n1行到n2行之间的内容拷贝到第n3行下 :n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下 :n1,n2 d: 将 n1行到n2行之间的内容删除 :w: 保存当前文件 :e filename: 打开文件filename进行编辑 :x: 保存当前文件并退出 :q: 退出vi :q!: 不保存文件并退出vi :!command: 执行shell命令command :n1,n2 w!command: 将文件中n1行至n2行的内容作为command的输入并执行之, 若不指定n1,n2,则表示将整个文件内容作为command的输入 :r!command: 将命令command的输出结果放到当前行
寄存器操作
"?nyy: 将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字
"?nyw: 将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字
"?nyl: 将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字
"?p: 取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字
ndd: 将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中
vim 批量查找替换相关推荐
- WordSR 在多个Word文件中批量查找替换
这阵子在看一些技术文档,都是 word 格式的,需要在多个Word文件中批量查找指定的内容,找不到免费的合适的软件,顺手开发了这个工具软件,下载地址 WordSR v0.2,下面是一些版权信息和软件介 ...
- Vim 文本查找/替换
Vim 文本查找/替换 Vim 查找 Vim 替换 单行替换首个old 单行替换全部的old 多行替换首个old 多行替换全部old 全局替换 确认替换 Vim 查找 在Vim编辑器下进入底行模式(命 ...
- vba word 查找_Word批量查找替换VBA代码
编写该代码的目的: 初衷 该代码最初用于我自己弄得一个用于批量化写word报告的东西,因为我原来需要写一堆格式化的报告,不同报告间除了数据发生了变化,其他几乎一模一样,我想偷懒(主要是我容易写错),就 ...
- 批量查找替换excel单元格中的软回车(alt + enter)
一.查找excel单元格中的换行符(alt + enter) 在excel中要批量查找软回车(alt + enter)可以通过在查找框内(通过按ctrl + f调出)输入:按住alt键不放,然后依次通 ...
- Linux——批量查找替换方法(VIM和sed)
1.VIM命令 当前行进行替换:s/XXX/YYY/gXXX是需要替换的字符串,YYY是替换后的字符串. 全局替换:% s/XXX/YYY/g. 对指定部分进行替换用V进入visual模式,再进行:s ...
- 利用DEDE正则批量查找替换数据库的自定义内容
正则的表达式在MY SQL中也有应用,但是在具体将查找的东西直接进行Replace的时候目前还不能解决,幸好后台中有个dede利用 正则,利用dede正则批量替换数据库中内容,这样我们完全减小了自己的 ...
- 使用Office内置的VBA编辑器实现WORD文档的批量查找替换
最近同事因为工作原因需要批量修改几百个WORD文档中的内容,并且是批量的重复性工作.如果按一个个文件打开,是一个繁琐.乏味且又容易遗漏出错的事儿,所以他想找一个能提供批量替换操作的工具,百度上有很多类 ...
- Wordpress 修改 mysql 插件_WordPress批量查找替换修改文章内容的插件和代码
修改过站内一些文章的永久链接,有没有办法修改站内所有相关的链接呀? 答案是有的. 批量替换WordPress数据库我们可以采取下面这两种方法:使用插件批量替换 使用数据库命令批量替换 替换方法一:使用 ...
- .net trim 替换指定字符_CAD二次开发实例:批量文本查找替换
# 0. 引言 在CAD中进行文本替换已经存在一个find命令了,但是只能进行一对一的文本替换,如果遇到一个图形文件中有很多个文本需要替换时,你不可能一个一个的去find替换吧,当然你也可以尝试一个一 ...
最新文章
- 回溯法实现正则匹配判断
- onKeyPress与。 onKeyUp和onKeyDown
- Redis进阶实践之五Redis的高级特性
- all resources based on handshake
- VMWare虚拟机转换成KVM
- linux环境变量设置错误后,如何恢复
- Multidex(二)之Dex预加载优化
- 指纹图谱相似度评价软件_基于指纹图谱和网络药理学对当归四逆汤中桂枝的Qmarker预测分析...
- mysql数据库存储过程及调用方法
- junit跳过datasource_maven – spring集成测试无法加载上下文“另一个资源已存在,名称为dataSource”...
- 计算机基本运行方式,我今天才知道的电脑运行方式,你知道吗?
- html调用一个php文件路径_HTML中利用js调用php的内容
- c语言中联机停止运行,Win7开机提示Microsoft(C)注册服务器已停止工作怎么办?
- markdown_Latex各种符号
- python模拟鼠标键盘操作_Python-模拟鼠标键盘动作
- 【MySQL】——数据库基础入门知识
- c语言仿宋gb2312字体,仿宋gb2312字体
- 微信小程序解析php,微信小程序解析H5文件方法
- sentaurus学习日记(二)--器件特性提取
- html自学网页制作,HTML入门学习教程:简单网页制作
热门文章
- wordpress主题开发核心知识
- JAVA游戏资讯网站计算机毕业设计Mybatis+系统+数据库+调试部署
- 天书奇谈手游怎么用电脑玩 天书奇谈手游安卓模拟器教程
- Windows10系统更新卡住不动怎么办?
- 发现大家对销售感兴趣,再来两则(二)
- linux cifsutils 内核,Veeam Agent for Linux 4.0 安装部署
- 输出格式%d、%6d、%06d、%-6d、%.6f的区分
- Python标准库之urllib,urllib2自定义Opener
- google dns 的好处
- 计网MAC层和网络层通信流程梳理