##概念

vim可以同时操作多个文件,缓存列表让我们知道我们打开了什么文件。vim允许我们在同一个窗口中同时查看两个文件,或者以tab的形式来操作文件。我们需要知道如何利用好它。

##用缓存列表跟踪打开的文件

我们可以在一个vim中打开多个文件,vim允许我们使用缓存列表来管理这些打开的文件

文件和缓存之间的关系

像其他编辑器一样,我们可以使用vim来读文件,编辑文件和存储文件。我们可能以为我们编辑的是文件本身,其实我们是在编辑vim在内存中的缓存,这个就是vim术语上的缓存。而文件是存储在硬盘上的。当我们用vim打开一个文件,文件里的内容会读入内存中,开始的时候,缓存和本地磁盘中的文件内容是一样的,但是随着我们的编辑,缓存中的内容就会和磁盘的内容有所不同。当我们想保存修改时,我们需要输入命令来把缓存中的文件写入磁盘,命令为:write或者是:w

在打开多个文件后,我们可以使用:ls来查看我们究竟打开了哪些文件,

ls

我们可以看到#%,其中%表示正在屏幕显示的文件,#表示当你按下<C-^>时可以切换到的文件,+表示该文件已被修改,但是还没有被存储,也就是缓存和磁盘的文件不一样。

:bnext,这个命令是跳转到下一个缓存,也就是跳到下一个已打开的文件。

:bprev,跳到上一个已打开的文件

:bdelete N1 N2或者**:bd**,可以删除指定序号的缓存。

:w[rite],保存文件

:e[dit]!,重置文件

:qa[ll]!,不保存退出

:wa[ll],保存所有打开的文件

##同屏显示多文件

之前说过vim可以在同一个屏幕显示多个文件,如何做到的,很简单,通过下面的命令就可以了。

命令影响
<C-w>s分裂本文件
<C-w>v纵向分裂本文件
:sp[lit] {file}分裂打开指定文件
:vsp[lit] {file}纵向分裂打开指定文件
<C-w>w在同屏文件件转移
<C-w>h向左转移
<C-w>j向下转移
<C-w>k向上转移
<C-w>l向下转移
:on[ly] <C-w>o只保留本窗口
<C-w>=等分所有窗口
<C-w>_最大化本地高度
<C-w>
[N]<C-w>_设置高度为N
[N]<C-w>