vim 技巧之用宏命令批量处理文件
今天遇到了一种情况,就是我需要同时修改34个文件中的某些字符串的内容,如果一个个打开需改的话,那也太麻烦了。后来就想着能不能通过vim的宏命令来修改
呢?现在就总结下关于宏在文件列表中的应用
1.首先,我们创建一个文件夹
all
2.里面我们创建6个文件分别是
.txt,.txt,.txt,.txt,.txt,.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
运行命令
@a
批量保存 :
argdo write ( 或者wall )
如果你想每次修改以后就自动保存,你可以把宏命令修改如下
qa /aaa ciw zhangshuli <Esc> :wnext
wnext的意思是,先运行write 然后运行next
我们在修改源码的时候,经常会修改多了文件,让后在多个文件中有自己的注释,当我们想要批量修改注释的内容的时候,这时候我们就可以使用上面的方法。只不过,为了把我们修改的文件都加入到缓存区,我们可以使用如下方法
1.把修改的文件放到一个txt文件中 git status . > change.txt
2.批量打开文件 :args `cat change.txt`
3.这时候在使用上面的方法就行了
vim 技巧之用宏命令批量处理文件的更多相关文章
- 最佳vim技巧
最佳vim技巧----------------------------------------# 信息来源----------------------------------------www.vim ...
- vimcommandfilepatchcmdfold VIM技巧之分隔窗口 一级精华
VIM技巧之分隔窗口 分类: 技术2010-07-08 09:57 754人阅读 评论(1) 收藏 举报 同时显示两个不同的文件, 或者同时查看同一个文件的两个不同位置, 或者是同步显示两个文件的 ...
- Linux下批量替换文件内容方法
1:查找find . -type f -name "*.html"|xargs grep ‘yourstring’ 2:查找并替换find -name '要查找的文件名' | xa ...
- Vim技巧之四大模式_普通模式
Vim技巧之四大模式_普通模式 一见不钟情的普通模式 普通模式以下的强悍操作 什么是操作符 什么是动作命令 误操作怎么办 那种操作更划算 普通模式下的神奇大招 Vim技巧之四大模式_普通模式 众所周知 ...
- vim技巧2
vim技巧总结-查找 1.查找命令1.1 执行一次查找普通模式下,/会调用查找提示符,如果vim扫描到文档尾部仍没有找到目标,会提示"search hit BOTTOM, continuin ...
- [转帖]Linux下批量替换文件内容方法
Linux下批量替换文件内容方法 https://www.cnblogs.com/fjping0606/p/4428850.html 刚才用到的命令 原作者写的挺好的记录一下 以后 用. 1:查找fi ...
- linux --批量修改文件内容
由于目前测试的BIOS有一个option 发生了改变,因此我们需要在之前写好的脚本上进行修改,将旧的option 改为新的选项,因此在此处用到了批量修改文件中的内容: 1. perl 命令替换: pe ...
- gulp批量打包文件并提取公共文件
gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器. browseriyf是模块化打包工具. 一般情况下,Browserify 会把所有的模块打包成单个文件.单个文件在大多数情况下是 ...
- python批量进行文件修改操作
python批量修改文件扩展名 在网上下载了一些文件,因为某种原因,扩展名多了一个后缀'.xxx',手动修改的话因为文件太多,改起来费时费力,于是决定写个小脚本进行修改. 1.要点: import r ...
随机推荐
- 1355: [Baltic2009]Radio Transmission
Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 958 Solved: 659[Submit][Status][Discuss] Description ...
- gym 100971 J Robots at Warehouse
Vitaly works at the warehouse. The warehouse can be represented as a grid of n × m cells, each of wh ...
- Ubuntu 环境下的mysql 远程访问,redis 远程访问和设置密码 ,mongo 安装 ,设置用户密码,开启远程访问
MySQL远程访问 1.编辑mysql配置文件,把其中bind-address = 127.0.0.1注释了 vi /etc/mysql/mysql.conf.d/mysqld.cnf 2.使用roo ...
- 深入理解void以及void指针的含义
void的含义 void即“无类型”,void *则为“无类型指针”,可以指向任何数据类型. void指针使用规范 ①void指针可以指向任意类型的数据,亦即可用任意数据类型的指针对void指针赋值. ...
- hadoop 2.5.1 、Hadoop 2.7 Hadoop 2.6
1 rpm 安装 yum install rpm 2 JDK安装 << 一定要先删除JDK!!!!!!>> rpm -qa | grep java ...
- CCNP路由实验之九 路由策略
CCNP路由实验之九 路由策略 路由器在公布与接收路由信息时,可能须要实施一些策略.以便对路由信息进行过滤,比如仅仅接收或公布满足一定条件的路由信息. 一种路由协议可能须要引入其它的路由协议发现 ...
- cocos2d-x 3.1.1学习笔记[23]寻找主循环 mainloop
文章出自于 http://blog.csdn.net/zhouyunxuan cocos2d到底是怎样把场景展示给我们的,我一直非常好奇. 凭个人猜想,引擎内部的结构类似于这样 while(true ...
- Effective JavaScript Item 40 避免继承标准类型
本系列作为Effective JavaScript的读书笔记. ECMAScript标准库不大.可是提供了一些重要的类型如Array,Function和Date.在一些场合下.你或许会考虑继承当中的某 ...
- Iocomp控件之数字显示【图文】
Iocomp关于数字显示有自己的一套方案.并且效果非常棒哦 效果图: 插入控件: 默认效果: 随意改动属性后: 加入变量 调用函数: ); 效果图:
- webpack02
consumer-index.html <!DOCTYPE html> <html lang="en"> <head> <meta cha ...