金域南外滩火葬场:vim 的使用 -- 用多个标签页打开多个文件

来源:百度文库 编辑:偶看新闻 时间:2024/05/01 02:54:22
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[lose][!]  关闭当前标签页。               

                     如下情形使该命令失败:               

                      - 屏幕上只有一个标签页。                                               

                      - 如果 'hidden' 没有置位,没有 [!],缓冲区有修改,而且该缓冲区 没有其它窗口。               

                        缓冲区的修改不会被写入,也不会丢失。所以这可以说是个 "安全的" 命令。

:tabc[lose][!] {count}               

                       关闭第 {count} 个标签页。

                       失败条件和上面的 ':tabclose' 相同。    *:tabo* *:tabonly*

:tabo[nly][!]   关闭所有其它的标签页。               

                      如果置位 'hidden' 选项,所有关闭窗口的缓冲区成为隐藏。               

                      如果没有置位 'hidden' 但置位 'autowrite' 选项,写回修改过的缓冲区。

                      否则,包含修改过的缓冲区的窗口不会被删除。

                      但如果给出 [!],这些窗口成为隐藏。

                      修改过的缓冲区永远不会被放弃,所以永远不被丢失这些改动。

3、切 换 到 另 一 个 标 签 页

:tabn[ext]         或       gt                                     

         转到下一个标签页。最后一个标签页则回绕到第一个。

:tabn[ext] {count}

{count}

{count}gt      

         转到第 {count} 个标签页。首个标签页编号为 1。

 

:tabp[revious]                          *:tabp* *:tabprevious* *gT* *:tabN*

:tabN[ext]                              *:tabNext*

gT              转到前一个标签页。首个标签页则回绕到最后一个。

:tabp[revious] {count}:tabN[ext] {count}{count}

{count}gT       转到前面 {count} 个标签页。首个标签页则回绕到最后一个。

:tabr[ewind]                    *:tabfir* *:tabfirst* *:tabr* *:tabrewind*

:tabfir[st]     转到第一个标签页。                                                        *:tabl* *:tablast*

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

4、其它命令:                                                        *:tabs*

:tabs           列出标签页和它们包含的窗口。               

            当前窗口显示 ">"。               

           修改过的缓冲区显示 "+"。

5、重 新 排 列 标 签 页:

:tabm[ove] [N]                                                      

            把当前标签页移到第 N 个标签页之后。用 0 使当前标签页成为首个标签页。

            如果没有 N,当前标签页成为最后一个。

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

:tabd[o] {cmd}  对每个标签页执行 {cmd}。               

            大致相当于:                       

                         :tabfirst                       

                        :{cmd}                       

                        :tabnext                       

                        :{cmd}                       

                        等等               

 只对每个标签页的当前窗口进行操作。如果某个标签页出现错误,不再               

继续访问其余的标签页。               

最后一个标签页 (或任何出错的标签页) 成为当前标签页。               

{cmd} 可以包含 '|' 以连接多个命令。               

{cmd} 不能打开标签页、关闭标签页或重排标签页。               

{Vi 无此功能} {仅当编译时加入 |+listcmds| 特性才有效}