有没有办法将现有窗口(拆分)放入新标签页?
如果您再次遇到此问题,请更改接受的答案,DrAI的答案比Mykola的答案正确得多。
—
gbr
有没有办法将现有窗口(拆分)放入新标签页?
Answers:
除了先前建议:tabedit
的做法,这样做是一个更快的方式(在正常模式下),以打击Ctrl- - 。W Shift TCtrl-W是各种窗口操作命令的通用前缀。
看到:
:help Ctrl-W_T
:help Ctrl-W
help Ctrl-W_T
它将带您到Ctrl-W_t
(小写)帮助条目,但是,页面下方是该Ctrl-W_T
条目(大写字母T),说“将当前窗口移至新选项卡页面...。”
:echo bufnr("")
并使用该编号可以使用:sp #3
或分割窗口:sb 3
(假设编号为3)。您可能可以提出一些映射或函数来简化此过程。
:sb
,但是在最新版本的Vim(> = 7.3)中,您还可以通过设置set undodir=/path/to/dir
/ path / to / dir是您已经使用的目录来使用持久撤消为此目的而创建 set undofile
。这将使您退出vim,然后重新启动并仍然保留undo / redo状态。
尝试
:tabedit %<CR>
C-w T
是执行相同操作的更快方法
这会将最新的缓冲区移到新选项卡中,并在当前选项卡中恢复先前的缓冲区。我将一个新文件拖到我的Gvim中后使用
:sbp |wincmd p| wincmd T
您可以像这样将其映射到Ctrl-Backspace
:nnoremap <C-BS> :sbp<bar>wincmd p<bar>wincmd T<CR>
它的表现特别好
:set switchbuf=usetab
我一直在使用它,它为您提供了两个可以绑定到一对热键或命令的功能,并且操作起来非常直观。我敢肯定,它提供的行为甚至比例如更加友好Ctrl-W_T
。
例如,当在多个选项卡中打开多个窗口时,使用此功能可以将当前窗口专门移动到下一个或上一个选项卡,如果将内容移动到第一个选项卡之前或最后一个选项卡之后,则它将进入一个全新的标签
这意味着如果您有2个选项卡,每个选项卡都有一个窗口,则将第一个选项卡的窗口向右移动会将其与第二个选项卡合并,以产生一个带有两个窗口的单个选项卡。我不知道使用传统命令来完成此操作有多复杂。
这意味着一对移动命令既可以在选项卡周围移动窗口,又可以将窗口拆分为多个选项卡(通过将窗口推到最末端),也可以将单独的选项卡连接到单个选项卡内的窗口中,几乎可以完成所有操作您可能需要缺少位置安排(这是一个单独的主题,内置的Ctrl-W
+ Shift-HJKL
命令可以正常使用)。