处理多个文件
到目前为止本书的所有例子仅在一个单一的文件中处理命令。此章节介绍一些命令可以编辑多个文件。
考虑初始的Vim命令,例如。你可以命令行中指定多个文件,像下面这样:
$gvim one.c two.c three.c
这个命令启动Vim,然后告诉他你将会编辑三个文件。默认情况下, Vim仅显示第一个文件(参考Figure 4.6)。
要编辑下一个文件,你需要使用:next命令来更改文件。Figure 4.7展示了结果。注意如果你没有保存当前的文件并尝试作:next,你将会得到一个警告并且:next命令不会工作。
你可以以多种不同的方式解决此问题。第一种方式是使用下面的方式来保存文件:
:write
换句话说,你可以先执行:write接下来在执行:next
Vim对这两个命令有一个短命令。下面的命令展示了两个操作:
:wnext
,或者你可以强制Vim去下一个文件通过使用强制选项(!)。如果你使用下面的命令并且你对当前的文件作了更改,你将会丢失更改:
:next!
:next可以重复执行。例如,你可以执行下面的命令:
:2 next
(或者 :2next), Vim将执行两次:next
你处在哪个文件上?
假设你正在编辑一系列的文件,然后你想看你处在哪个文件上。下面的命令显示了一系列的文件和你正处于被编辑的文件:
:args
你处于的被方括号包裹。Figure 4.8展示了命令的输出。
示例展示了三个文件要被编辑:one.c,two.c和three.c。正被编辑的文件是two.c
返回上一个文件
返回上一个文件,你可以执行下面命令的其中之一:
:previous
或
:Next
如果你想保存当前文件并返回前一个文件,使用下面的命令:
:wprevious
:wNext
编辑第一个或第二个文件
你可能认为:first将会把你放到第一个文件:last会把你放到最后一个文件。这在大多数计算机的场景中都是适用的。从第一个文件开始编辑使用下面的命令,无论你处于哪个文件。
:rewind
编辑最后一个文件,使用下面的命令:
:last
注意: Bram已经作出保证在Vim的下一个释出版中添加:first命令(在Vim7.0版本中已经添加)