Vim:对于多个文件:复制所有文本,替换和粘贴
发布时间:2020-12-15 21:51:18 所属栏目:安全 来源:网络整理
导读:我想使用Vim对多个文件执行以下操作: 复制每个文件中的所有文本 替换一些文字 将复制的文本粘贴到每个文件的末尾 替换其他一些文字 以下是我对一个文件的命令: :%y:%s/old1/new1/g:G:P:%s/old2/new2/g 任何人都可以告诉我这样做的语法吗?特别是我是Vim的
我想使用Vim对多个文件执行以下操作:
>复制每个文件中的所有文本 以下是我对一个文件的命令: :%y :%s/old1/new1/g :G :P :%s/old2/new2/g 任何人都可以告诉我这样做的语法吗?特别是我是Vim的新手! 我发现argdo可以在多个文件上执行命令.我找到了许多使用argdo替换文本的例子,但我找不到使用argdo的语法:%y,:G或:P 谢谢. 解决方法
就像@ib提到的那样,我会用ex commands1来做这件事
:argdo %y | %s/old1/new1/g | $pu | %s/old2/new2/g 您也可能希望在排他范围内操作(仅在第一部分进行第一次替换,在第二部分进行第二次替换): :argdo $mark a | %co$| 1,'a s/old1/new1/g | 'a,$s/old2/new2/g 要允许不匹配的替换,请添加s /// e并添加静音!在许多文件的情况下使操作更快. :silent! argdo $mark a | %co$| 1,'a s/old1/new1/ge | 'a,$s/old2/new2/ge 1(请注意,argdo默认使用Ex命令列表.您可以使用例如argdo norm!ggyG来使用普通模式命令) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |