vim如何在多个文件中切换

时间:2022-04-03 13:47:55

如果我们一次打开多个文件

看一下当前目录里面的文件:

wangkongming@Vostro /data/webroot/testRoot/application/modules/Admin/views $ ll
total
drwxr-xr-x wangkongming wangkongming 7月 : .
drwxr-xr-x wangkongming wangkongming 6月 : ..
-rw-r--r-- wangkongming wangkongming 7月 : add.html
-rw-r--r-- wangkongming wangkongming 7月 : edit.html
-rw-r--r-- wangkongming wangkongming 6月 : footer.html
-rw-r--r-- wangkongming wangkongming 7月 : header.html
-rw-r--r-- wangkongming wangkongming 7月 : index.html

打开多个文件:

vi *.html

可以操作的命令如下:

:n          编辑下一个文档。 
:2n        编辑下两个文档。 
:N          编辑上一个文档。注意,该方法只能用于同时打开多个文档。 
:e 文档名        这是在进入vim后,不离开 vim 的情形下打开其他文档。把文件暂存在缓存区
:e# 或 Ctrl+ˆ      编辑上一个文档,用于两个文档相互交换编辑时使用。?# 代表的是编辑前一次编辑的文档 【这个比较常用】
:files 或 :buffers 或 :ls     可以列出目前 缓冲区 中的所有文档。加号 + 表示 缓冲区已经被修改过了。#代表上一次编辑的文档,%是目前正在编辑中的文档 
:b 文档名或编号      移至该文档。

如,:b 2,跳转到第二个文件

如果想以列表形式打开缓存区的文件,就需要用插件。

大家推荐的插件是:bufexplorer

github地址为:https://github.com/jlanzarotta/bufexplorer

文件中有这几个文件:

doc  LICENSE  plugin  README.md

将plugin目录下的 bufexplorer.vim文件放到你home目录下的.vim/plugin/目录中

将doc目录下的 bufexplorer.txt文件放到你home目录下的.vim/doc/目录中

在home下的.vimrc文件中加入下面的代码

"""""""""""""""""""""""""""""
" F6 BufExplorer
"""""""""""""""""""""""""""""""
map <F6> :BufExplorer<CR>

配置好后打开一个文件,或者多个文件

按下F6,就能看到这样的界面

" Press <F1> for Help
" Sorted by mru | Locate buffer | One tab/buffer | Absolute Split path
"=
%a Index.php /data/webroot/testRoot/application/controllers 第 行
# Product.php /data/webroot/testRoot/application/controllers 第 行
Article.php /data/webroot/testRoot/application/controllers 第 行
Test.php /data/webroot/testRoot/application/controllers 第 行
h Leaveword.php /data/webroot/testRoot/application/controllers 第 行
h Error.php /data/webroot/testRoot/application/controllers 第 行

其中 %a表示当前编辑的文件

#表示上一个编辑的文件

  h 表示曾经打开过这个文件

这样就很方便的在文件中切换了。