我的vim手册(按使用场景梳理)
四大模式:正常模式、插入模式、命令模式、可视模式。
正常模式
- 文件打开之后默认就处于正常模式。
- 正常模式的主要作用就是浏览文件,包括一些复制、粘贴、删除等操作。
- 正常模式应该成为vim的主要模式,即其他模式做完操作立即返回正常模式。
插入模式
-
正常模式下按下个别字母键会进入插入模式。
-
插入模式主要负责编辑。
命令模式
- 正常模式下按下
:
或/
进入命令模式 - 命令模式下可以执行一些输入并执行一些 VIM 或插件提供的指令,就像在shell里一样。这些指令包括设置环境、文件操作、调用某个功能等等。
可视模式
- 在正常模式按下
v, V, <Ctrl>+v
,可以进入可视模式。 - 可视模式中的操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候会很方便。
打开文件
-
bash状态下打开单文件:
vim file
-
bash状态下打开多文件:
vim file1 file2 file3…
-
打开状态下继续打开其他文件:
-
:e file
在当前文件夹打开 -
:Ex
在 Vim 中打开目录树,光标选中后回车打开对应文件,相当于普通编辑器的file->open(-
进入上级目录)
-
多文件机制
buffer的概念
查看当前buffer::buffers
或:ls
。理论上会得到这样的结果
:ls
1 #h "file-one.md" line 47
2 %a "file-two.md" line 1
Press ENTER or type command to continue
:bn
打开缓存中下一个文件(相当于普通编辑器点击打开标签):bp
打开缓存中上一个文件:b<N>
打开缓存中第 N 个文件::bdelete<N>
删除所要关闭的缓冲区,缩写:bd<N>
。
分屏
主要有这样几个使用需求:
打开时直接分屏:
- 左右分:
vim -On file1 file2 ... filen
- 上下分:
vim -on file1 file2 ... filen
分割当前打开的文件:
- 上下分:
Ctrl + w s
- 左右分:
Ctrl +w v
打开若干个窗口后继续增加窗口
- 上下分:
:sp file
- 左右分:
:vsp file
多窗口之间切换光标与调整分屏
切换光标:
将光标定位到左/右/上/下的窗口里:Ctrl + w h/l/k/j
调整分屏:
-
调整分屏位置
将当前分屏移动到左/右/上/下:
Ctrl + w H/L/K/J
-
调整分屏大小
Ctrl-w =
平均窗口尺寸Ctrl-w +/-/_
增加/缩减/最大高度(方向符前面可以加数字)Ctrl-w >/</|
增加/缩减/最大宽度
标签
创建标签页
- 在新的标签页打开文件:
:tabe file
- 在新的标签页打开当前窗口文件:
tab split
- 通配符打开当前目录里一些文件:
tabf *.txt
切换标签页
- 上一页
:tabp
gT
(实际使用时往往在这里设置快捷键) - 下一页
tabn
gt
- 首/末页
:tabfirst
和:tabr
/:tablast
:tabl
- 移动当前标签到第一个位置
:tabm 0
(数字可以改) - 移动当前标签到最后一个位置
:tabm
关闭标签页
- 关闭当前
:tabc
(用关闭窗口的方法也可以) - 保留当前
:tabo
- 关闭/显示标签页菜单
:set showtabline=0
/:set showtabline=1
列出标签页
列出已打开标签页 :tabs
(>表示当前标签页)