vim多标签

多标签
进入vim前 vim -p <文件名> 以多标签形式打开文件。如vim -p * 就是编辑当前目录的所有文件, vim编辑中 :tabnew 增加一个标签 :tabc       关闭当前的tab :tabo       关闭所有其他的tab :tabs       查看所有打开的tab :tabp 或gT 前一个 :tabn 或gt  后一个 新建标签页
:tabe <文件名>  在新标签页中打开指定的文件。
:tabnew <文件名>  在新标签页中编辑新的文件。
:tab split  在新标签页中,打开当前缓冲区中的文件。
:tabf  允许你在当前目录搜索文件,并在新标签页中打开。比如:tabf img.*。此命令只能打开一个文件.
Vim默认最多只能打开10个标签页。你可以用set tabpagemax=15改变这个限制。

列示标签页
:tabs  显示已打开标签页的列表,并用“>”标识出当前页面,用“+”标识出已更改的页面。

关闭标签页
:tabc  关闭当前标签页。
:tabo  关闭所有的标签页。

切换标签
:tabn或gt  移动到下一个标签页。
:tabp或gT  移动到上一个标签页。
:tabfirst或:tabr  移动到第一个标签页。
:tablast  移动到最后一个标签页。

移动标签页
:tabm [次序]  移动当前文件的标签页次序。比如:tabm 1将把当前标签页移动到第2的位置。如:tabm不指定参数将被移动到最后。

配置标签页
:set showtabline=[1,2,3]  标签页在窗口上方显示标签栏。=0完全不显示标签栏,=1只有用户新建时才显示,=2总是显示标签栏。

多标签页命令
:tabdo <命令>  同时在多个标签页中执行命令。比如:tabdo %s/food/drink/g 命令把当前多个标签页文件中的“food”都替换成“drink”。

帮助
:help tab-page-intro命令,可以获得关于标签页使用的更多信息。

还有很多他命令  :help table

 

vim用多个标签页打开多个文件 



1、打 开 新 标 签 页
启动 Vim 时用 "vim -p filename ..."
:tabe[dit]                              *:tabe* *:tabedit* *:tabnew*
:tabnew         在当前标签页之后打开带空窗口的新标签页。

:tabe[dit] [++opt] [+cmd] {file}
:tabnew [++opt] [+cmd] {file}
                打开新标签页并编辑 {file},其余和 |:edit| 类同。

:tabf[ind] [++opt] [+cmd] {file}                        *:tabf* *:tabfind*
                打开新标签页并编辑 path 里的 {file},其余和 |:find| 类同。
                {仅当编译时加入 |+file_in_path| 特性才有效}

:[count]tab {cmd}                                       *:tab*
                执行 {cmd},如果它打开新窗口,使用新标签页代替。不能用于
                |:diffsplit|、|:diffpatch|、|:execute| 和 |:normal|。
                如果省略 [count],标签页出现在当前标签页之后。如果指定
                [count],新标签页出现在第 [count] 个标签页之后。":0tab cmd" 使
                新标签页出现在第一个位置。例如:
                        :tab split      " 在新标签页上打开当前缓冲区
                        :tab help gt    " 打开标签页显示 "gt" 的帮助

2、关 闭 标 签 页
                                                        *:tabc* *:tabclose*
:tabc[lose][!]  关闭当前标签页。
                如下情形使该命令失败:
                - 屏幕上只有一个标签页。                                *E784*
                - 如果 hidden 没有置位,没有 [!],缓冲区有修改,而且该缓冲区
                  没有其它窗口。
                缓冲区的修改不会被写入,也不会丢失。所以这可以说是个 "安全的"
                命令。

:tabc[lose][!] {count}
                关闭第 {count} 个标签页。失败条件和上面的 :tabclose 相同。

                                                        *:tabo* *:tabonly*
:tabo[nly][!]   关闭所有其它的标签页。
                如果置位 hidden 选项,所有关闭窗口的缓冲区成为隐藏。
                如果没有置位 hidden 但置位 autowrite 选项,写回修改过的缓
                冲区。否则,包含修改过的缓冲区的窗口不会被删除。但如果给出
                [!],这些窗口成为隐藏。修改过的缓冲区永远不会被放弃,所以永远
                不被丢失这些改动。

 3、切 换 到 另 一 个 标 签 页
:tabn[ext]                              *:tabn* *:tabnext* *gt*
<C-PageDown>                            *CTRL-<PageDown>* *<C-PageDown>*
gt                                      *i_CTRL-<PageDown>* *i_<C-PageDown>*
                转到下一个标签页。最后一个标签页则回绕到第一个。

:tabn[ext] {count}
{count}<C-PageDown>
{count}gt       转到第 {count} 个标签页。首个标签页编号为 1。


:tabp[revious]                          *:tabp* *:tabprevious* *gT* *:tabN*
:tabN[ext]                              *:tabNext* *CTRL-<PageUp>*
<C-PageUp>                       *<C-PageUp>* *i_CTRL-<PageUp>* *i_<C-PageUp>*
gT              转到前一个标签页。首个标签页则回绕到最后一个。

:tabp[revious] {count}
:tabN[ext] {count}
{count}<C-PageUp>
{count}gT       转到前面 {count} 个标签页。首个标签页则回绕到最后一个。

:tabr[ewind]                    *:tabfir* *:tabfirst* *:tabr* *:tabrewind*
:tabfir[st]     转到第一个标签页。

                                                        *:tabl* *:tablast*
:tabl[ast]      转到最后一个标签页。


4、其它命令:
                                                        *:tabs*
:tabs           列出标签页和它们包含的窗口。
                当前窗口显示 ">"。
                修改过的缓冲区显示 "+"5、重 新 排 列 标 签 页:

:tabm[ove] [N]                                          *:tabm* *:tabmove*
                把当前标签页移到第 N 个标签页之后。用 0 使当前标签页成为首个标
                签页。如果没有 N,当前标签页成为最后一个。


6、循 环 遍 历 所 有 标 签 页:

                                                        *:tabd* *:tabdo*
:tabd[o] {cmd}  对每个标签页执行 {cmd}。
                大致相当于:
                        :tabfirst
                        :{cmd}
                        :tabnext
                        :{cmd}
                        等等
                只对每个标签页的当前窗口进行操作。如果某个标签页出现错误,不再
                继续访问其余的标签页。
                最后一个标签页 (或任何出错的标签页) 成为当前标签页。
                {cmd} 可以包含 | 以连接多个命令。
                {cmd} 不能打开标签页、关闭标签页或重排标签页。
                {Vi 无此功能} {仅当编译时加入 |+listcmds| 特性才有效}
                另见 |:windo|、|:argdo| 和 |:bufdo|。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。