在工作中常常需要对成百上千个纯文本进行批量替换操作,经过多次试验,我认为使用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文件夹放入到你的/Home目录下,里面一般的vim插件都有了,如还想要其他的可以下载对应的vim插件,放入.vim/plugin文件夹下面,doc文件放入.vim/doc文件夹下面 vim的效果 ...
每个插件的目录下的conf.vim中有更多的设置及说明 "FuzzyFinder fuf.vim模糊查找 source ~/.vim/bundle/fuzzyfinder/conf.vim "NERD_commenter.vim source ~/.vim/bundle/nerdcommenter/conf.vim "单独切换打开...
用vim编辑多个文件 用vim编辑多个文件用vim编辑多个文件
tumx配置文件,兼容vim的h,j,k,l按键,下载后,在当前文件夹执行mv tmux.conf ~/.tmux.conf,然后tmux new -s test新开一个tmux的session,使用crtl+b h,j,k,l既可以快速移动窗口。
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配置文件 vimrc vim配置文件 vimrc vim配置文件 vimrc
在使用过程中,呕心沥血收集来的网上资源,无分放送。 包括 (1)多种版本vim用户手册中文版 (2)多种版本vim键盘图(中/英文版本) (3)各种教程 (4)网上收集而来的各种使用技巧方法
vim-config-framework, vim/neovim配置框架 极简,模块化,注释,延迟加载 vim/neovim配置框架to配置的主要困难是它们变得太复杂无法调试,做出太多的意见并且不友好地合并 upstream 变化。我在寻找代码 Fragment请...
vimrc文件拷贝到用户家目录和root家目录下更名为.vimrc 两个TXT文件拷贝到/usr/share/vim/vim73/doc 目录下 两个VIM文件拷贝到/usr/share/vim/vim73/plugin目录下
该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\...
使用本文件可以把vim配置成强大的IDE,但是必须使用VIM8.0以上的版本。首先将本文件内容copy到~/.vimrc里,如果没有该文件需要创建;其次git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/...
vimv vimv是基于终端的文件重命名实用程序,可让您轻松地使用Vim批量重命名文件。 安装curl https://raw.githubusercontent.com/thameera/vimv/master/vimv>〜/ bin / vimv && chmod +755〜/ b vimv vimv是基于终端...
VIM配置文件vimrc(Linux/Ubuntu)
学习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配置文件
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 配置文件, 主要是绑定了一些快捷键, ...
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...