【learn-Vim】02 Buffers, Windows 和 Tabs
chapter 2 Buffers,Windows和Tabs(缓冲区,窗口和选项卡)
一个常规的编辑器使用窗口和选项卡,Vim使用三种方式:缓冲区,窗口和选项卡。当前部分会阐述它们的功能。
在开始之前,你可以在vimrc中添加set hidden
,该选项用于快速切换缓冲区而不出现未保存的提示,也可以不设置,确保缓冲区按需保存。
vimrc的部分内容可以在 【learn-Vim 01】中找到。
Buffers 缓冲区
缓冲区就是Vim的内存空间,同时打开几个文件就同时拥有几个缓冲区。
可以通过输入:buffers
,:ls
或者:files
查看得知。
-
切换到写一个缓冲区:
:bnext
-
切换到filename缓冲区:
:b filename
单独的b是简写,全写为buffer -
切换到第n个缓冲区:
:b n
-
切换到上一个缓冲区快捷键:
Ctrl + I
非输入模式下 -
切换到下一个缓冲区快捷键:
Ctrl + O
-
切换到上一次打开的缓冲区:
Ctrl + ^
-
删除第n个缓冲区:
:bdelete n
-
删除filename缓冲区:
:bdelete filename
退出Vim
基于上面打开的多个缓冲区,可以使用下面方法快速退出:
- 退出所有缓冲区:
:qall
- 退出并不保存:
:qall!
- 退出并保存:
:wqall
Windows 窗口
窗口就是缓冲区的可视化界面。
-
分割显示一个新的filename窗口:
:split filename
-
横向添加一个窗口(垂直分割):
:vsplit filename
-
添加一个新窗口:
:new filename
水平分割 -
将光标移到左侧窗口快捷键:
Ctrl + W -> H
-
将光标移到上侧窗口快捷键:
Ctrl + W -> J
-
将光标移到下侧窗口快捷键:
Ctrl + W -> K
-
将光标移到右侧窗口快捷键:
Ctrl + W -> L
-
vertically split 一个新的窗口快捷键:
Ctrl + W -> V
-
horizontally split 一个新的窗口快捷键:
Ctrl + W -> S
-
关闭当前窗口快捷键:
Ctrl + W -> C
-
使当前窗口为唯一窗口并关闭其他窗口快捷键:
Ctrl + W -> O
Tabs 选项卡
Tab页不是单一个缓冲区或窗口,而是一系列缓冲区或者窗口的集合的布局。
-
新建一个Tab页打开filename:
:tabnew filename
tab_1
tab_2 -
关闭一个标签页:
:tabclose
-
切换到下一个标签页:
:tabnext
-
切换到上一个标签页:
:tabprevious
-
切换到第一个标签页:
:tabfirst
-
切换到最后一个标签页:
:tablast
-
按序切换标签页快捷键:
g -> t
非输入模式下区分大小写 (按顺序逐个敲击,并非同时按压) -
按序切换标签页快捷键:
g -> T
-
切换到第n个标签页快捷键:
n数字键 -> g -> t
新建多个标签同时打开多个文件 filename1, filename2 命令行:
vim -p filename1 filename2
更好的使用方式
- 同时将任务所需的所有文件放入缓冲区。
- 关闭使用结束或多余的窗口,避免视觉混乱。
- 标签页保持一个分类的作用。