vim强大的tab功能

前端时间在学习怎么vim多窗口编辑文件,但是总觉得不是很自然,觉得vs的标签页的确实很好用,想vim怎么没有这个功能啊,其实有,只不过没有发现而已。

简单提一下,如果不用标签方式,就用

sp或者vsp分窗口操作,然后再用

res +n, vertical res +n 来增加高度或者宽度,其中n是增加行数

res -n,  vertical res -n 来减少高度或者宽度

标签页的方式:

你会注意到窗口永远不会重叠。这意味着屏幕空间很快会用完。这个问题的解决方法叫做
标签页。

假设你正在编辑文件 "thisfile"。下面的命令可以建立新的标签页:

        :tabedit thatfile

这会在一个窗口中编辑文件 "thatfile",这个窗口会占满整个 Vim 窗口。你会注意到在
顶部有一个含有两个文件名的横条:

        +----------------------------------+
        | thisfile | /thatfile/ __________X|   (thatfile 用加粗字体出现)
        |/* thatfile */                    |
        |that                              |
        |that                              |
        |~                                 |
        |~                                 |
        |~                                 |
        |                                  |
        +----------------------------------+

现在,你拥有了两个标签页。第一个是文件 "thisfile" 的窗口,第二个是文件"thatfile" 的窗口。这就像是两张重叠的纸,它们所带的的标签露在外面,显示其文件名。现在,使用鼠标单击顶端的 "thisfile"。结果是 +----------------------------------+ | /thisfile/ | thatfile __________X| (thisfile 用加粗字体出现) |/* thisfile */ | |this | |this | |~ | |~ | |~ | | | +----------------------------------+你可以通过单击顶端的标签切换标签页。如果没有鼠标或者不想用它,可以使用 "gt" 命令。助记符: Goto Tab。现在,让我们通过下面的命令建立另一个标签页: :tab split这会建立一个新的标签页,包含一个窗口,编辑和刚才所在窗口中的缓冲区相同的缓冲区: +-------------------------------------+ | thisfile | /thisfile/ | thatfile __X| (thisfile 用加粗字体出现) |/* thisfile */ | |this | |this | |~ | |~ | |~ | | | +-------------------------------------+在任何打开窗口的 Ex 命令前面,你都可以放上 ":tab"。这个窗口在新标签页中打开。另一个例子: :tab help gt它将在新的标签页中显示关于 "gt" 的帮助。使用标签页可以完成更多的工作:- 在末尾标签后面的空白处单击鼠标 选择下个标签页,同 "gt"。- 在右上角的 "X" 处单击鼠标 关闭当前标签页,除非当前标签页中的改变没有保存。- 在标签行上双击鼠标 建立新标签页。- "tabonly" 命令 关闭除了当前标签页以外的所有标签页,除非其它标签页中的改变没有保存。

关闭当前tab:

:close

只保留当前tab,关闭其他tab

:tabo                         // 是tabonly缩写

切换到下一个tab

:tabn                       // tabnext

切换到前一个tab

:tabpre                    // tabprevious

切换到最后一个tab

:tabl                      // tablast

切换到第一个tab

:tabfir                    // tabfirst

切换到第几个tab

(n)gt           // n 为tab的序号

或者

:tabn (n)

对所有tab执行命令:

:tabd                     // tabdo

例如保存所有tab:

:tabd  w

版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.

    分享到:

Leave a Reply

Your email address will not be published. Required fields are marked *