`
iyuan
  • 浏览: 463244 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

vim批量修改多文件数据(转/备忘)

vim 
阅读更多
在工作中常常需要对成百上千个纯文本进行批量替换操作,经过多次试验,我认为使用VIM是最好的办法。
我们需要用到的是VIM的args和 argdo 两个命令。
args的用处是把需要进行批量操作的文件标记出来。例如:
args d:\a\*.txt
args d:\a\**\*.txt

以上示例中的第一个是把D盘a目录下的所有纯文本文件作上标记,第二个则包括子目录。
在VIM中可以使用pwd命令查看VIM的当前目录,可以使用cd命令改变当前目录的位置。例如:
cd d:\a\
args会找到指定目录下的所有指定类型的文件并以编辑第一个。现在可以对所有的文件进行同一个替换操作。
:argdo %s/\<x_cnt\>/x_counter/ge | update

":argdo"命令以另一个命令为参数。该命令将对所有待编辑的文件都执行一次。
"%s"替换操作将施于所有行上。它通过"\<x_cnt\>"查找"x_cnt"。其中"\<"和"\>"使得只有完整的单词会被匹配,这样"px_cnt"和"x_cnt2"中的x_cnt才可以免遭毒手。
替换操作的标志"g"使得每行中的全部"x_cnt"都被替换。标志"e"则用于避免某些文件中一个"x_cnt"都找不到时的错误消息。否则的话":argdo"命令遇到这些错误就会终止整个操作。
"|"用来分隔两个命令。后面的"update"命令会在文件有改变时进行保存。如果没有一个"x_cnt"被替换为"x_counter"那就不进行任何操作。

在实际操作中还有一点小技巧,那就是如何避免在操作中频繁出现“请按Enter或其他命令继续”以及出现“更多”的提示而需要按空格键继续,如果要操作的文件数目很多,频繁地按回车或空格键会把人整疯的。
在vimrc文件中作如下设定:
set nomore
打开more选项,列表消息会在全屏填满时暂停,通过nomore选项关闭就不会有暂停,列表消息会继续进行直到结束为止。


猛击看原文
分享到:
评论

相关推荐

    vim资源文件

    vim的资源文件,解压后,将其中的.vim文件夹放入到你的/Home目录下,里面一般的vim插件都有了,如还想要其他的可以下载对应的vim插件,放入.vim/plugin文件夹下面,doc文件放入.vim/doc文件夹下面 vim的效果 ...

    vim设置20130906, 适合编程爱好者

    每个插件的目录下的conf.vim中有更多的设置及说明 "FuzzyFinder fuf.vim模糊查找 source ~/.vim/bundle/fuzzyfinder/conf.vim "NERD_commenter.vim source ~/.vim/bundle/nerdcommenter/conf.vim "单独切换打开...

    用vim编辑多个文件

    用vim编辑多个文件 用vim编辑多个文件用vim编辑多个文件

    tmux配置文件,兼容vim按键

    tumx配置文件,兼容vim的h,j,k,l按键,下载后,在当前文件夹执行mv tmux.conf ~/.tmux.conf,然后tmux new -s test新开一个tmux的session,使用crtl+b h,j,k,l既可以快速移动窗口。

    vim配置 molokai.vim

    cp molokai.vim /usr/share/vim/vim73/colors cp /etc/vim/vimrc /etc/vim/vimrc.bak cp vimrc /etc/vim/vimrc

    vim配置文件vim配置文件vim配置文件

    vim配置文件vim配置文件vim配置文件

    vim 配置文件 vim 配置文件 vim 配置文件

    vim配置文件 vimrc vim配置文件 vimrc vim配置文件 vimrc

    史上最全vi/vim使用手册/教程/技巧/键盘图等

    在使用过程中,呕心沥血收集来的网上资源,无分放送。 包括 (1)多种版本vim用户手册中文版 (2)多种版本vim键盘图(中/英文版本) (3)各种教程 (4)网上收集而来的各种使用技巧方法

    vim-config-framework, vim/neovim配置框架.zip

    vim-config-framework, vim/neovim配置框架 极简,模块化,注释,延迟加载 vim/neovim配置框架to配置的主要困难是它们变得太复杂无法调试,做出太多的意见并且不友好地合并 upstream 变化。我在寻找代码 Fragment请...

    linux VIM 配置文件

    vimrc文件拷贝到用户家目录和root家目录下更名为.vimrc 两个TXT文件拷贝到/usr/share/vim/vim73/doc 目录下 两个VIM文件拷贝到/usr/share/vim/vim73/plugin目录下

    vim下systemverilog/VMM/UVM语法高亮文件

    该vim文件用于vim/gvim下,systemverilog/VMM/UVM文件自动高亮关键字.基于的文件版本及内容为: 1.systemverilog 1800-2012中附录内所有关键字; 2.VMM 1.2中class\method\type\macro; 3.UVM 1.2中class\method\type\...

    vim8配置成强大的IDE

    使用本文件可以把vim配置成强大的IDE,但是必须使用VIM8.0以上的版本。首先将本文件内容copy到~/.vimrc里,如果没有该文件需要创建;其次git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/...

    使用Vim批量重命名文件-Linux开发

    vimv vimv是基于终端的文件重命名实用程序,可让您轻松地使用Vim批量重命名文件。 安装curl https://raw.githubusercontent.com/thameera/vimv/master/vimv&gt;〜/ bin / vimv && chmod +755〜/ b vimv vimv是基于终端...

    VIM配置文件vimrc(Linux/Ubuntu)

    VIM配置文件vimrc(Linux/Ubuntu)

    vimtips 学习VIM的理想资源

    学习vim: http://www.vim.org/ O cial site http://chronos.cs.msu.su/vim/newsgroup.html Newsgroup and Usenet http://groups.yahoo.com/group/vim Speci c newsgroup http://u.webring.com/hub?ring=vim VIM ...

    vim配置文件,vim配置文件

    vim配置文件,vim配置文件

    强大的vim配置文件

    强大的vim配置文件,强大的vim配置文件强大的vim配置文件强大的vim配置文件强大的vim配置文件

    vim配置,包含自己写的说明,很全,很好用

    mkdir -p ~/.vim/after/syntax ~/.vim/syntax cp c.vim ~/.vim/after/syntax/ tar xf gtk-vim-syntax.tar mv gtk-vim-syntax ~/.vim/syntax vimrc, gvimrc 是我个人使用的 vim 配置文件, 主要是绑定了一些快捷键, ...

    vim.tar.gz

    sudo apt-get remove vim-tiny sudo apt-get install vim # 调试插件 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ipdb git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle...

Global site tag (gtag.js) - Google Analytics