Is there a way to move a split page to a new tab in Vim?

44

14

I have opened a file in a horizontal or vertical split and which to put it in a new tab instead. Can this be done easily?

Pierre-Antoine LaFayette

Posted 2010-03-09T16:46:26.517

Reputation: 987

Answers

74

Very easily, use CTRL+W, SHIFT+T.

See the help page:

:help CTRL-W_T

Note that this is case sensitive: <C-W>T is different to <C-W>t.

Al.

Posted 2010-03-09T16:46:26.517

Reputation: 2 396

2Is it possible to do the reverse of this (move a tab to a split)? – aruuu – 2018-06-14T01:21:18.973

4

The long-and-straight-forward way would be to open a new tab and open the file's buffer there.

:tabnew
:b FILE_NAME

:b can TAB-complete from arbitrary parts of the file name, so this shouldn't take too long.

Benjamin Bannier

Posted 2010-03-09T16:46:26.517

Reputation: 13 999

1

Canonical Solution

Suppose there are two buffers:

:ls
  1 #h   "match_this_partially.md"  line 1
  2 %a   "food/tacos.txt"           line 1

You currently have food/tacos.txt open. You want to open match_this_partially.md in a new tab.

Simply use the following:

:tab sb partial

-- or --

:tab sb 1

You can also use wildmenu tab completion in place of partial.


long form:

  • :tab sbuffer {buffer}

help:

  • :help :tag
  • :help :sbuffer

Alternative Keyboard Solution

Open file in a new split open it in a new tab with the following:

<c-w>T

Use case

Note: for me ]b simply is mapped with nnoremap <silent> ]b :silent execute v:count.'bnext'<cr>

If I have few buffers I might do something like this:

  1. <c-w>v -- create a new vertical split
  2. ]b -- navigate to next buffer (essentially with :bnext)
  3. <c-w>T -- open split in new tab (this destroys the split in the first tab)

dylnmc

Posted 2010-03-09T16:46:26.517

Reputation: 161