Is there a way to move a split page to a new tab in Vim?
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?
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
.
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.
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:
-
<c-w>v
-- create a new vertical split -
]b
-- navigate to next buffer (essentially with:bnext
) -
<c-w>T
-- open split in new tab (this destroys the split in the first tab)