3

这篇文章介绍 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 命令查看完整的帮助说明。


霜鱼片
446 声望331 粉丝

解读权威文档,编写易懂文章。如有恰好解答您的疑问,多谢赞赏支持~