管理多个文件
工作目录
提示:tab可以自动补全目录名
:pwd
查看当前窗口的工作目录:cd {path}
设置此次vim的工作目录为path:lcd {path}
设置当前窗口的工作目录为path:open [filename]
打开一个文件,若无此文件,则新建该文件,path可以用相对路径(..\
上级目录)或者绝对路径。%:h
表示当前文件所在目录的路径。可以将cnoremap <expr> %% getcmdtype() == ':' ? expand('%:h').'/' :'%%'
这行代码加到vimrc中,用%%
代替%:h
。:find {filename}
在path中找{filename}的文件并打开。:set path+=app/**
将app/目录及其子目录加到path中(**表示app/所有的子目录)。
缓存区管理
当打开一个文件时,vim会自动将该文件的内容加载到一个缓冲区中。每个缓冲区对应一个文件,管理多个缓存区就是管理多个文件。
:w
将缓冲区的内容写进文件中:e!
将文件的内容写进缓冲区中:ls
查看当前缓冲区列表:bn
打开下一个缓冲区:bn!
强制打开下一个缓冲区(以下同理):bp
打开上一个缓冲区:bf
打开第一个缓冲区:bl
打开最后一个缓冲区:bd N1 N2
删除编号为 N1 N2 缓冲区
将工作区切分成窗口
- 切分窗口
:sp [filename]
快捷键<C W>s
水平切分窗口:vsp [filename]
快捷键<C W>v
垂直切分窗口
- 切换窗口
<C W>w
循环切换窗口<C W>j
切换到下边的窗口<C W>k
切换到上边的窗口<C W>h
切换到左边的窗口<C W>l
切换到右边的窗口
- 关闭窗口
:clo
快捷键<C W>c
关闭当前窗口:on
快捷键<C W>o
只保留当前窗口
- 改变窗口大小
<C W>=
设置所有窗口等高等宽<C W>_
最大化当前窗口的高度<C W>|
最大化当前窗口的宽度
使用标签页分组窗口
一个标签可以有多个窗口。
:tabe[dit] {filename}
打开一个新标签页,并同时打开该文件:tabc[close]
关闭当前标签页:tabo[nly]
只保存当前标签页<C W>T
将该窗口移到一个新标签页:tabn[ext]
或gt
切换到下个标签页:tabp[revious]
或gT
切换到上个标签页:tabn[ext] {N}
或{N}gt
切换到第N个标签页
使用netrw管理文件系统
在vimrc中加上以下俩行代码:
set nocompatible
filetype plugin on
:e.
或:E
打开文件管理器。可用j和k上下移动光标,用<Enter>
进入该目录或者打开该文件。
<C ^>
可回到刚才编辑的文件: