我想使用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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。