Как перенести существующее окно на новую вкладку?

Есть ли способ сделать существующее окно (разделение) и поместить его в новую вкладку?

Ответ 1

Как и ранее предложенный подход :tabedit, более быстрый способ сделать это (в нормальном режиме) - нажать Ctrl - W Shift - T. Ctrl-W является общим префиксом для большого количества команд обработки окон.

См:

:help Ctrl-W_T
:help Ctrl-W

Ответ 2

Попробуйте

:tabedit %<CR>

Ответ 3

Это перемещает новый буфер на новой вкладке и восстанавливает предыдущий буфер на текущей вкладке. Я использую это после перетаскивания нового файла в свой Gvim

:sbp |wincmd p| wincmd T

Вы можете сопоставить это как Ctrl-Backspace

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

он особенно хорошо работает с

:set switchbuf=usetab

Ответ 4

Я использовал this, который дает вам две функции, которые могут быть связаны с парой горячих клавиш или команд, и которая работает довольно интуитивно. Я уверен, что он предлагает поведение еще более дружелюбно, чем, например, Ctrl-W_T.

Например, когда несколько окон открыты в нескольких вкладках, эта функция позволяет вам специально перемещать текущее окно на следующую или предыдущую вкладку, и если вы переместите что-то до первой вкладки или после последней вкладки, то он превращается в совершенно новую вкладку.

Это означает, что если у вас есть две вкладки, каждая из которых имеет одно окно, то перемещение первого окна вкладки вправо объединяет его со второй вкладкой, чтобы создать одну вкладку с двумя окнами. Я не знаю, как эта операция выполнялась с помощью традиционных команд.

Это означает, что одна пара команд перемещения позволяет перемещать окна вокруг вкладок, разбивая окна на вкладки (путем нажатия окна до конца) и объединяя отдельные вкладки в окна внутри одной вкладки, почти все, что вы, возможно, захотите, за исключением позиционной компоновки (которая является отдельной темой и которая прекрасно работает для встроенных команд Ctrl-W + Shift-HJKL).