如何将现有窗口移动到新的选项卡?

有没有办法把一个现有的窗口(拆分)并把它放到一个新的选项卡?

30246 次浏览

试试看

:tabedit %<CR>

与先前建议的 :tabedit方法一样,更快的方法是(在正常模式下)命中 Ctrl-W Shift-T。Ctrl-W 是各种窗口操作命令的通用前缀。

参见:

:help Ctrl-W_T
:help Ctrl-W

我一直在使用 这个,它提供给你两个功能,可以绑定到一对热键或命令,它的工作相当直观。我很确定它提供的行为甚至比 Ctrl-W_T更友好。

例如,当在多个选项卡中打开多个窗口时,使用这个函数允许您将当前窗口专门移动到下一个或上一个选项卡,如果您将某些内容移动到第一个选项卡之前或最后一个选项卡之后,那么它将变成一个全新的选项卡。

这意味着如果你有2个选项卡,每个选项卡都有一个窗口,那么将第一个选项卡的窗口向右移动,将它与第二个选项卡结合起来,产生一个带有两个窗口的单一选项卡。我不知道使用传统的命令来实现这个操作有多复杂。

这意味着一对 move 命令既可以在选项卡周围移动窗口,也可以将窗口分割成选项卡(通过将窗口推到末尾) ,还可以在一个选项卡内将单独的选项卡连接到窗口中,这几乎是你可能想要的一切,只是位置安排不够(这是一个单独的主题,内置的 Ctrl-W + Shift-HJKL命令可以很好地处理这个问题)。

这将在新选项卡中移动最新的缓冲区,并在当前选项卡中恢复以前的缓冲区。 我在将一个新文件拖入我的 Gvim 之后使用这个

:sbp |wincmd p| wincmd T

您可以像这样将它映射到 Ctrl-Backspace

:nnoremap <C-BS> :sbp<bar>wincmd p<bar>wincmd T<CR>

它的表现特别好

:set switchbuf=usetab