多文件编辑
- 编辑另一个文件
- 文件列表
- 分屏
- vimdiff
- 文件跳转
编辑另一个文件
除了为每一个要编辑的文件运行一次 Vim 之外,还可以在当前 Vim 中开始编辑另一个文件。
:edit foo.txt
Vim 会关闭当前正在编辑的文件打开指定的新文件进行编辑。如果当前文件还有未存盘的内容,Vim 会给出提示信息同时也
不会打开另一个文件。
文件列表
在启动 Vim 时就可以指定要编辑多个文件:
vim one.c two.c three.c
该命令启动 Vim 并告诉它你要编辑 3 个文件。Vim 将在启动后只显示第一个文件。完成该文件的编辑后,可是使用下述命令切换到下一个文件:
:next
# or 保存并切换
:wnext
分屏
vim 可以在启动的时候分屏,也可以在使用阶段分屏,具体方法如下所述。
启动时分屏
左右分屏:vim -On file1 file2 ... filen
上下分屏:vim -on file1 file2 ... filen
其中,-on
中的 n 表示的是分几个屏,可以缺省不写,vim 会按照文件数量进行分屏。
编辑中分屏
上下分割当前文件:crtl+w s
上下分割,并打开新的文件:sp filename
【sp 和 s 就是 split,vim 默认是上下分屏】
左右分割当前打开的文件:ctrl+w v
左右分割,并打开一个新的文件:vsp filename
【v 指的是vertical,垂直分割】
【先按 crtl+w
,松开后再按 s
或者 v
】
切换窗口
针对所有窗口的操作命令
qall、wall、wqall、qall!
这些命令会作用于所有的窗口。【本质上,这些命令只会作用于修改过的窗口】
vimdiff
vimdiff 命令可以分屏打开两个文件,并高亮显示两个文件的不同之处。
文件跳转
vim 文件中有时候会包含一些其他文件的路径。
当光标位于某一文件的绝对路径或者相对路径时,在 normal 模式下,可以通过下述方式进行文件之间的跳转:
快捷键 | 作用 |
---|---|
gf | 在当前窗口中打开该文件 |
crtl+o / :bd / :bf | 退回至原文件 |
crtl+i | 再次在当前窗口打开之前跳转的文件 |
ctrl+w f | 以分屏模式打开该文件(水平分屏) |
ctrl+w gf | 在新的tab中打开该文件 |
:tabc | 关闭当前tab |
如下所示,光标只需要位于路径的字符串上即可,不需要选中路径。