多标签 进入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|。
时间: 2024-10-12 13:16:51