Открываем
Открыть вкладку можно тремя разными способами, самый простой и интуитивный
:tabnew
в нормальном режиме, он откроет новую вкладку с пустым буфером. Можно сразу открыть вкладку с файлом, передав его имя как параметр:tabnew futuri.co
Вкладки можно также открыть сразу после запуска, если добавить ключ
-p
перед списком имен файлов — для каждого откроется своя вкладка.vim -p habra.sh habr.py
Конечно, открывать табы до бесконечности не получится, по-умолчанию стоит ограничение в 10 вкладок. Устанавливается оно параметром
tabpagemax
, например::set tabpagemax=15
Ограничение работает только для открытия вкладок при помощи ключа
-p
. И если вы собираетесь открыть больше вкладок, чем разрешено, то файлы откроются, но вкладки не отобразятся и перемещаться по ним можно будет при помощи команд :next
и :prev
.И еще один способ открыть вкладку
:tabf
. Параметром ему передается шаблон и если файл найден, то он откроется в новой вкладке. Например::tabf index*
Если шаблону соответствует больше, чем один файл, то вим просто выругается и ничего не сделает. Полезная особенность
:tabf
в том, что с ним работает автодополнение по <tab>
.Перемещаемся
Переключаться по табам можно командами
:tabn
и :tabp
, для следующего и предыдущего таба, или в нормальном режиме gt
и gT
соответственно, причем можно использовать 5gT
и т.п.Когда вкладок открыто много, могут пригодиться команды
:tabfirst
или :tabfir
открывающие первую вкладку и :tablast
, открывающие последнюю.По-умолчанию полоска с табами показывается только, когда открыта хотя бы одна вкладка, включить постоянное отображение можно при помощи:
:set showtabline=2
Посмотреть все открытые табы можно при помощи
:tabs
.Конечно же, всем этим командам можно назначить свои сочетания клавиш, я использую следующее:
nmap ,t :tabnew<CR>
Перемещаем
Перемещать вкладки можно командой
:tabm n
, где n это номер позиции, на которую мы хотим ее переместить, конечно же, по правилам хорошего тона, нумерация вкладок начинается с 0.:tabm 2
Кстати, использование вкладок никак не ограничивает другие возможности вима, по этому никто не запрещает разделить одну вкладку на несколько областей видимости, например (
:sp
, :vsp
).Командуем
Выполнять команды над содержимым всех табов можно при помощи
:tabdo command
, например, можно поменять всюду имя переменной::tabdo %s/шило/мыло/g
Подсматриваем
:tabnew [filename] | Открыть новую вкладку |
:tabf pat*ern | Открыть вкладку по шаблону |
:tabs | Список открытых вкладок |
gt или :tabn | Следующая вкладка |
gT или :tabp | Предыдущая вкладка |
:tabfirst или :tabfir | Первая вкладка |
:tablast | Последняя вкладка |
:tabm n | Переместить вкладку в n (от 0) |
:tabdo command | Выполнить над всеми вкладками |
И если этого недостаточно
:help tab-page-intro