VIM中arg和argdo的使用介绍

摘要:在工作中常常需要对成百上千个纯文本进行批量替换操作,经过多次试验,我认为使用VIM是最好的办法。
我们需要用到的是VIM的args和 argdo 两个命令。

在工作中常常需要对成百上千个纯文本进行批量替换操作,经过多次试验,我认为使用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选项关闭就不会有暂停,列表消息会继续进行直到结束为止。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/98605.html

(0)
上一篇 2021年8月21日
下一篇 2021年8月21日

相关推荐

发表回复

登录后才能评论