vim同时编辑多个文件主要靠buffer,tab和分屏
what is buffer/tab
:help window OR :help buffer
- A buffer is the in-memory text of a file.
- A window is a viewport on a buffer.
- A tab page is a collection of windows.
:ls 可以查看现在打开的buffer
:bd 删除buffer
:bN 打开第N个buffer的文件
Ctrl+^ OR :bn :bp :bf 切换buffer
Ctrl+^经常与gf搭配使用,用在跳进文件定义后返回上一个文件
!> vim -p file1 file2 以多标签的方式打开多个文件
:tab fileName
:tabnew
tabfind查找【一个】文件并用新的标签页打开,如果有多个匹配结果会报错
:tabfind pathName
:tabs - 显示所有标签页的信息
gt/gT - switch tab
2gt - 切换到标签2
:tabm N - 把当前标签页移动到第N,N不指定的话移动到最后
- Ctrl+,hjkl - move cursor between window
- Ctrl+w,w
- Ctrl+i/o 在最近两个编辑的文件间跳动
- Ctrl+w,= - 分屏宽度平均分配
- Ctrl+w,HJKL - 左下上右移动当前屏幕
按下m, 第一个候选菜单就是创建文件或目录
I - toggle display of hidden files O - Recursively open the dir X - Recursively close all children C - change root to current dir u - same as cd .. R - refresh root dir
K - 跳到当前目录的第一个文件 J - 跳到当前目录的最后一个文件 Ctrl+j - 跳到下一个文件夹 Ctrl+k - 跳到上一个文件夹 P - Jump to the root node p - Jump to current nodes parent
B - toggle bookmark window D - Delete bookmark
编辑书签
~/.NERDTreeBookmarks
o - 打开文件或书签 t - 在新标签页打开文件 T - 打开但是光标停在NERDTree
,t/:NERDTree - 打开NEARTREE
s/i - 水平/垂直分屏
go/gs/gi - 打开文件但是光标停留在NERDTree
用的较少的分屏知识:
vim -o/O file1 file2 # 水平/垂直分屏打开文件