今天遇到了一种情况,就是我需要同时修改34个文件中的某些字符串的内容,如果一个个打开需改的话,那也太麻烦了。后来就想着能不能通过vim的宏命令来修改
呢?现在就总结下关于宏在文件列表中的应用
1.首先,我们创建一个文件夹
all
2.里面我们创建6个文件分别是
1.txt,2.txt,3.txt,4.txt,5.txt,6.txt
3.内容都是
aaa bbb ccc
现在我们想要把每一个文件里面的aaa都换成zhangshuli,我们可以这么做
第一步:把要操作的文件,导入到缓存去列表
vim ; :args *
第二步:设置缓存区文件修改不保存也可以跳转
set hidden
第三步:录制宏命令
并行操作
qa /aaa ciw zhangshuli <Esc>
整个文件列表执行宏命令
:argdo normal @a
批量保存 :
argdo write ( 或者wall )
串行操作
qa /aaa ciw zhangshuli <Esc> :next
运行命令
22@a
批量保存 :
argdo write ( 或者wall )
如果你想每次修改以后就自动保存,你可以把宏命令修改如下
qa /aaa ciw zhangshuli <Esc> :wnext
wnext的意思是,先运行write 然后运行next
原文:http://www.cnblogs.com/zhangshuli-1989/p/hq_16_01_05_13_41.html