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 ...
随机推荐
- 【DNN发布包解释】package 包裹
package 包裹 owner 主人 dependency 附属国 azureCompatible 天青兼容 releaseNotes 发行说明 license 许可证 CoreVersion 核 ...
- exsi的虚拟机加载U盘
1. 添加usb控制器: 2.添加设备
- softwares我的软件列表(转载)
[TOC] 个人在archlinux下的日常使用经验列出,故而在archlinux及其衍生发行版中,以下所列软件几乎可以从archlinux官方源或者aur中搜索下载安装,所列出名字一般即是其包名,使 ...
- Linux FTP客户端
1.File Zilla File Zilla是一个开源的,跨平台的Linux FTP客户端.File Zilla有一个标签式的用户界面,允许用户查看正在传输的文件的所有细节.File Zilla是通 ...
- numpy基础篇-简单入门教程3
np import numpy as np np.__version__ print(np.__version__) # 1.15.2 numpy.arange(start, stop, step, ...
- 题解 P1531 【I Hate It】
这道题明明是裸的线段树,蒟蒻却80分了五六次... ------------ 根据题意,显然是维护一棵单点修改区间查询的线段树,于是直接套区间修改的代码... 结构体,即为树上的节点. struct ...
- 杭电 HDU ACM 2795 Billboard(线段树伪装版)
Billboard Time Limit: 20000/8000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- swift 动态设置UILabel的高度
import UIKit class ViewController3: UIViewController { override func viewDidLoad() { ...
- Option可选值(一)
//: Playground - noun: a place where people can play import Cocoa class Person { var residence: Resi ...
- scikit-learn:3.2. Grid Search: Searching for estimator parameters
參考:http://scikit-learn.org/stable/modules/grid_search.html GridSearchCV通过(蛮力)搜索參数空间(參数的全部可能组合).寻找最好的 ...