Vim实战指南(九):多窗口编辑

Introduction

虽然我们在Vim实战指南(四):ex命令介绍了如何同时打开多个文件,但是仍然需要通过n/N来切换,对于编程来说不太方便。Vim支持多窗口编辑,可以让你同时打开并编辑多个文件。

多窗口的便利

在多窗口中,你可以完成以下在单窗口中无法完成的事情:

  1. 可以快速在多文件中跳转
  2. 可以快速在多文件中复制粘贴
  3. 可以同时看到同一文件的不同段落
  4. 可以比较两个不同的文件
  5. 可以比较同一个文件的不同版本

如何打开多窗口

让Vim打开多窗口有以下两种方式,直接在Unix命令行中打开和在Vim内打开。

$ vim -o filename1 filename2

在Unix命令行中打开横向水平窗口,若希望打开纵向垂直窗口,在Unix命令行中输入:

$ vim -O filename1 filename2

你也可以指定打开的窗口数量,如:

$ vim -O3 filename1 filename2

将打开三个纵向垂直窗口,且第三个为空。
而在Vim中,可以通过ex命令来打开多窗口:

:split

将打开横向水平窗口,若希望打开纵向垂直窗口,在ex命令行中输入:

:vsplit

也可以指定文件名,如:

:vsplit filename

多窗口中移动

多窗口的命令都是以Ctrl+W开头,W是Window的意思,一般先按Ctrl+W,再按对应的命令,如:

Ctrl+w j:移动到下面的窗口,横向水平窗口有效
Ctrl+w 下方向键:同上
Ctrl+w k:移动到上面的窗口,横向水平窗口有效
Ctrl+w 上方向键:同上
Ctrl+w j:移动到左边的窗口,纵向垂直窗口有效
Ctrl+w 左方向键:同上
Ctrl+w l:移动到右边的窗口,纵向垂直窗口有效
Ctrl+w 右方向键:同上
Ctrl+w t:移动到最左上的窗口,t是top的意思
Ctrl+w b:移动到最右下的窗口,b是buttom的意思
Ctrl+w p:移动到前一个窗口,p是previous的意思
Ctrl+w r:将当前窗口和右边或者下面的窗口交换,r是rotate的意思
Ctrl+w R:交换方向和上面的相反
Ctrl+w x:将当前窗口和相邻的窗口交换,x是exchange的意思
Ctrl+w X:交换方向和上面的相反
Ctrl+w +:增大当前窗口的大小
Ctrl+w -:减小当前窗口的大小
Ctrl+w =:将当前窗口的大小设置为合适大小
Ctrl+w q:退出当前窗口,q是quit的意思
Ctrl+w c:关闭当前窗口,c是close的意思

Summary

有了多窗口支持,现在可以非常方便的使用Vim来编写程序了,熟练使用多窗口命令,快速编写代码吧。

(本文出自csprojectedu.com,转载请注明出处)