Pull to refresh

Вкладки

Reading time 2 min
Views 32K

Открываем


VIM Tabs
Открыть вкладку можно тремя разными способами, самый простой и интуитивный :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
Tags:
Hubs:
+46
Comments 21
Comments Comments 21

Articles