代码之家  ›  专栏  ›  技术社区  ›  Drew Stephens

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

vim
  •  132
  • Drew Stephens  · 技术社区  · 15 年前

    有没有方法取一个现有的窗口(拆分)并将其放入一个新的选项卡?

    4 回复  |  直到 15 年前
        1
  •  238
  •   DrAl    15 年前

    以及之前建议的 :tabedit 接近,一个更快的方法是(在正常模式下)击中 Ctrl键 - W 换档 - T . ctrl-w是各种窗口操作命令的通用前缀。

    见:

    :help Ctrl-W_T
    :help Ctrl-W
    
        2
  •  99
  •   Mykola Golubyev    15 年前

    尝试

    :tabedit %<CR>
    
        3
  •  2
  •   user4419612    10 年前

    这将移动新选项卡中的最新缓冲区,并恢复当前选项卡中的上一个缓冲区。 我在把一个新文件拖到我的gvim后使用这个

    :sbp |wincmd p| wincmd T
    

    你可以这样映射到ctrl backspace

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

    它的性能特别好

    :set switchbuf=usetab
    
        4
  •  0
  •   Steven Lu    11 年前

    我一直在用 this 它提供了两个函数,可以绑定到一对热键或命令,并且可以非常直观地工作。我很肯定,它提供的行为甚至比例如更友好。 Ctrl-W_T .

    例如,当多个窗口在多个选项卡中打开时,使用此功能可以将当前窗口具体移动到下一个或上一个选项卡,如果将某个对象移动到第一个选项卡之前或最后一个选项卡之后,则该窗口将变为一个全新的选项卡。

    这意味着,如果您有两个选项卡,每个选项卡都有一个窗口,那么将第一个选项卡的窗口向右移动,会将其与第二个选项卡合并,从而使一个选项卡具有两个窗口。我不知道使用传统的命令来实现这个操作有多复杂。

    这意味着,一对move命令允许在选项卡周围移动窗口、将窗口拆分为选项卡(通过将窗口推到末尾)以及将单独的选项卡合并到单个选项卡内的窗口中,几乎所有可能需要的内容,除了位置排列(这是一个单独的主题和内置的 Ctrl-W + Shift-HJKL 命令对)。