在开始这个小节前,先来想像两个情况:
当我有一个文件非常的大,我查阅到后面的数据时,想要“对照”前面的数据, 是否需要使用 [ctrl]+f 与 [ctrl]+b (或 pageup, pagedown 功能键) 来跑前跑后查阅?
我有两个需要对照着看的文件,不想使用前一小节提到的多文件编辑功能;
在一般窗口接口下的编辑软件大多有“分区窗口”或者是“冻结窗口”的功能来将一个文件分区成多个窗口的展现, 那么 vim 能不能达到这个功能啊?可以啊!但是如何分区窗口并放入文件呢? 很简单啊!在命令行界面输入“:sp {filename}”即可!那个 filename 可有可无, 如果想要在新窗口启动另一个文件,就加入文件名,否则仅输入 :sp 时, 出现的则是同一个文件在两个窗口间!
让我们来测试一下,你先使用“ vim /etc/man_db.conf ”打开这个文件,然后“ 1G ”去到第一列,之后输入“ :sp ” 再次的打开这个文件一次,然后再输入“ G ”,结果会变成下面这样喔:
图9.3.7、vim 的窗口分区示意图
万一你再输入“ :sp /etc/hosts ”时,就会变成下图这样喔:
图9.3.8、vim 的窗口分区示意图
怎样?帅吧!两个文件同时在一个屏幕上面显示,你还可以利用“[ctrl]+w+↑”及“[ctrl]+w+↓” 在两个窗口之间移动呢!这样的话,复制啊、查阅啊等等的,就变的很简单啰~ 分区窗口的相关指令功能有很多,不过你只要记得这几个就好了:
多窗口情况下的按键功能 | |
---|---|
:sp [filename] | 打开一个新窗口,如果有加 filename, 表示在新窗口打开一个新文件,否则表示两个窗口为同一个文件内容(同步显示)。 |
[ctrl]+w+ j [ctrl]+w+↓ | 按键的按法是:先按下 [ctrl] 不放, 再按下 w 后放开所有的按键,然后再按下 j (或向下方向键),则光标可移动到下方的窗口。 |
[ctrl]+w+ k [ctrl]+w+↑ | 同上,不过光标移动到上面的窗口。 |
[ctrl]+w+ q | 其实就是 :q 结束离开啦! 举例来说,如果我想要结束下方的窗口,那么利用 [ctrl]+w+↓ 移动到下方窗口后,按下 :q 即可离开, 也可以按下 [ctrl]+w+q 啊! |
鸟哥第一次玩 vim 的分区窗口时,真是很高兴啊!竟然有这种功能!太棒了! ^_^