这篇文章介绍 vim 的一些使用技巧:
- 在不同文件buffer间切换
- 在多窗口间跳转和改变窗口大小
在不同文件buffer间切换
用 vim file1.txt file2.txt ...
命令同时打开多个文件,或者在 vim 里面用 :edit
命令再打开其他文件时,会有多个文件buffer,可以不用退出 vim 就同时编辑多个文件。
可以用下面命令在不同文件buffer间切换:
-
:bn
切换到下一个文件 -
:bp
切换到上一个文件 -
:ls
打印文件buffer的列表,带编号 -
:b [N]
切换到第N个文件,例如:b 3
命令切换到第3个文件。文件编号可以用ls
命令查看 -
:b {bufname}
通过文件名切换到 bufname 对应的文件,输入文件名时,可以用Tab键补全。
使用Tab键补全时,每按一次Tab键,就会补全一项。如果不小心跳过了想要打开的文件名,可以用 CTRL-P 键返回到前面的项。
可以用 :help :buffer
命令查看这部分的完整帮助说明。
在多窗口间跳转和改变窗口大小
vim 可以用 :sp
命令打开一个新的水平切分窗口,在不同的窗口显示各自的内容。
用 :vsplit
命令则是打开一个新的垂直切分窗口。
显示多窗口后,可以用下面几个方式在不同窗口之间跳转,以便选择操作哪个窗口:
-
CTRL-W j
光标切换到下一个窗口。 -
CTRL-W k
光标切换到上一个窗口。 -
CTRL-W h
光标切换到左边窗口。如果左边没有窗口,保持在当前窗口不变。 -
CTRL-W l
光标切换到右边窗口。 -
CTRL-W w
在各个窗口之间来回切换。每输入一次,切换一个窗口。不停输入,可以遍历所有窗口。在只有两个窗口时很方便来回切换。
这些键位的输入方式是,同时按住 CTRL 键和 w 键 (小写的w,不需要按Shift键),然后松开,再按下一个键,例如 j 键、w 键 等。不松开 CTRL-W,直接按下一个键也可以。
上面的 k/j/h/l 键可以换成键盘的上下左右光标键。
可以执行 :q
命令退出且只退出当前窗口。如果当前只有一个窗口,会退出vim。 CTRL-W q
命令跟 :q
效果相同。 CTRL-W c
命令也可以退出当前窗口。如果当前只有一个窗口,会报错,不退出vim。 :close
命令跟 CTRL-W c
效果相同。
有一些 vim 插件会弹出 quickfix 窗口,这些命令也可以用来在这些窗口之间跳转。
可以用下面命令来改变窗口大小:
-
CTRL-W +
当前窗口增加一行。在按 CTRL-W 之前,可以先输入数字指定要增加多少行。按键方式是先同时按 CTRL 和 w,然后松开,再输入 +。
增加当前窗口行数,其他窗口会减少行数,最多可以减小到只有一行。 -
CTRL-W -
当前窗口减少一行。同样可以先输入数字指定要减少多少行。 -
CTRL-W _
最大化当前窗口,其他窗口会缩小到只有一行。这里的_
要按 Shift 键来输入。
用 :help windows.txt
命令查看完整的帮助说明。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。