使用Vim同时编辑多个文件

6

我需要在多个文件的同一位置添加几行内容。我想知道是否可能使用Vim打开所有文件,并仅在一个文件中进行更改,以便同时在所有文件中进行更改。我真的不想打开X个文件,复制粘贴,然后对X个文件的每个文件重复此操作...希望有更好的方法来完成这个任务,最好是使用vim...

谢谢! 阿米特


3
为什么选择 Vim?如果你有相同的文件(或者具有完全相同结构的文件),你几乎可以在任何语言中轻松地编写脚本来处理这些文件。 - Vitor Py
1
哦,哇塞,这太真实了。为什么我没有想到呢。!@$@#$@#$#@$ - Amit
2
如果您对vim非常熟悉,而不熟悉其他脚本语言,请查看vim的man页面以获取“-w”和“-s”选项--它们可以让您将会话记录为脚本。 - idbrii
2个回答

5

我看了一下教程,觉得很有帮助,不过我想我会很快在Python里面写点什么来自动完成这个任务…这样做肯定会容易许多…谢谢! - Amit

5

你可以使用windo命令在所有窗口中操作。结合substitute命令,您可以这样做(假设您想在每个文件的第2行添加“This is a new line.”):

:windo 2s/\(.*\)/This is a new line.^M\1

当然,正如其他人所指出的,有更好的工具可以完成这项任务(比如awk)。

谢谢你。你所说的awk是什么,还是你只是指尴尬... - Amit
2
@ Amit:我是说 awk脚本语言 - Eelvex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接