vi替换(oeasy教您玩转vim67批量替换)

管理员 2024-09-24 08:21:11 0
批量替换回忆上次我们可以用vimdiff快速的比较文件这很实用!!!实用的一些跳转方式遍历所有的修改change]c 下一条修改[c 上一条修改遍历所有的函数method]m 下一条修改[m 上一条修改面对不同点把当前的改成对比的 - do - diff obtain把对比的改成当前的 - dp - diff put关于多窗口还有什么好玩的吗?回忆同时打开2个文件执行windovi -o o1 o2:windo normal Ioeasywindo 所有窗口都执行normal 进入普通模式Ioeasy 插入oeasy:windo normal owindo 所有窗口都执行normal 进入普通模式o 换行:windo normal "%pwindo 所有窗口都执行normal 进入普通模式"%p 粘贴各自文件名批量替换:windo %s/oeasy/o2z/gwindo 所有window窗口都进行%s/oeasy/o2z/g 把 oeasy 替换为 o2z然后可以:wqall 全部保存批量细节可以设置range,这个指的是window编号:1,3windo normal Ioeasy可以执行批处理序列,用|隔开各个命令:windo %s/oeasy/o2z/g| %s/o2z/o3z/g这样就可以执行两条替换命令了:windo set nolist nofoldcolumn | colorscheme bluebufdo除了windo我们还可以对每一个buffer执行命令:bufdo %s/oeasy/o2z/g| %s/o2z/o3z/g可以设置 autowrite 自动保存也可以设置 hidden 支持未修改buffer隐藏还可以 :bufdo %s/oeasy/o2z/g| %s/o2z/o3z/g|update 自动更新可:ls、:buffers 查看当前的buffers列表:bd1、:bd o2z.txt 可删除bufferse .可打开新的buffer缓冲可以用:b1选择缓存argdo我们还有一种批量执行命令的方式:argdo %s/oeasy/o2z/g| %s/o2z/o3z/g打开.c文件,设置文件格式并更新:args *.c:argdo set ff=unix | update打开.c或.h文件,批量替换并更新:args *.[ch] :argdo %s/\<my_foo\>/My_Foo/ge | update可以用:args查看相应的参数列表可以用:argd删除参数可以用:arga添加参数把网页文件批量替换md文件vi **/*.html把2级目录下所有html用vim打开:args观察所有参数:argdo %s/<img src=\"\(.\{-}\)\" title=\"\(.\{-}\)\" \/>/[!\2]\1 | update替换img标签:argdo %s/<a href=\"\(.\{-\})\">\(.\{-\}\)<\/a>/[\2]\1/g | update替换a标签:%s/<h1>\(.*\)</h1>/- \1/gc替换h1标签:%s/<h2>\(.*\)</h2>/ - \1/g替换h2标签之前 - zs要求把 oeasy.org 替换为 oeasy.io但是 vim.org 不替换oeasy教您玩转vim - 67 - # 批量替换

/oeasy\zs.org查找前面有oeasy 的 .org:%s/oeasy\zs.org/.io/g前面是 oeasy 的 .org 换成 .io:%s/\<o.*\zs.org/.io/g以 o 为单词开头的 .org 都替换oeasy教您玩转vim - 67 - # 批量替换

多文件替换:argdo %s/\<o.*\zs.org/.io/g | update对所有的arguments参数执行全文批量替换并且更新oeasy教您玩转vim - 67 - # 批量替换

/^\s*\zsif开头只有空格和tab的if/\(.\{-}\zsFab\)\{3}第三个 Fab之后 - zeoeasy教您玩转vim - 67 - # 批量替换

end\ze\(if\|for\)endif 和 endfor 中的 endoeasy教您玩转vim - 67 - # 批量替换

综合应用\<o.*\ze\.o.g以 o 开头的后面跟 o 什么 g 的:bufdo %s/\<o.*\ze\.o.g/ooo/g把以 o 开头的、后面跟 o 什么 g 的单词都换成 ooo对于所有的 buffers全文替换总结这次有三种批量替换,分别是:windo:bufdo:argdo执行的{cmd}可以用|按顺序增加分别对应的windowsbuffersarguments各有各自的列表、切换、删除增加的方式以什么开始、结束的模式zsze关于 window 窗口容器我们切得越细可用的范围越小总共 80*24 的屏幕资源很快就用完了我又想多线程访问又想有足够的屏幕来编辑那怎么办呢?除了window之外还有容器吗?下次再说

[Github地址] (https://github.com/overmind1980/oeasyvim)[Gitee地址] (https://gitee.com/overmind1980/oeasyvim)[蓝桥实验楼 邀请码FJWYIMGB] (https://www.lanqiao.cn/courses/2840)

相关文章