Найти в Дзене
Блокнот математика

Рубрика "Секреты Вим". Вкладки и окна.

В Vim (с седьмой версии) есть такая удобная вещь как вкладки. Такие же, как в браузере или много где еще. В каждой вкладке может быть то, что может быть в обычном окне Вим. Если включена мышь, ею можно переключать вкладки. Открыть файлы во вкладках: vim -p file1 file2 Из Вима даем команду :tabnew file или просто :tabnew для пустого файла. Можно открыть каталог и выбрать там файл. В каталоге можно даже совершать файловые операции --- удалить файл или переименовать --- о чем в другой раз. tabnew откроет вкладку справа от текущей; есть варианты: +tabnew --- после следующей, -tabnew --- перед текущей, 0tabnew --- перед первой, $tabnew --- после последней. Синоним tabnew --- tabedit. Переход между вкладками: gt - вправо, gT - влево, n gt - на n-ую по счету, n gT --- на n влево. Можно командами: :tabnext, tabprevious (или tabNext) tabfirst (или tabrewind), tablast. Выходя из Вима (:q или как Вам нравится), мы закрываем вкладку, а не Вим. Можно закрыть вкладку непосредственно: tabclose.

В Vim (с седьмой версии) есть такая удобная вещь как вкладки. Такие же, как в браузере или много где еще. В каждой вкладке может быть то, что может быть в обычном окне Вим. Если включена мышь, ею можно переключать вкладки.

Открыть файлы во вкладках: vim -p file1 file2

Из Вима даем команду :tabnew file или просто :tabnew для пустого файла. Можно открыть каталог и выбрать там файл. В каталоге можно даже совершать файловые операции --- удалить файл или переименовать --- о чем в другой раз. tabnew откроет вкладку справа от текущей; есть варианты: +tabnew --- после следующей, -tabnew --- перед текущей, 0tabnew --- перед первой, $tabnew --- после последней. Синоним tabnew --- tabedit.

Переход между вкладками: gt - вправо, gT - влево, n gt - на n-ую по счету, n gT --- на n влево. Можно командами: :tabnext, tabprevious (или tabNext) tabfirst (или tabrewind), tablast.

Выходя из Вима (:q или как Вам нравится), мы закрываем вкладку, а не Вим. Можно закрыть вкладку непосредственно: tabclose.
:tabonly - закрывает все, кроме текущей. :qa - закрывает все вкладки.

:tabs - посмотреть все вкладки. Но их и так видно вверху.

Можно перемещать вкладки мышкой, но есть и команды: tabmove с вариациями. tabmove +N, tabmove -N, +tabmove, -tabmove, 0tabmove, $tabmove.

:tabdo позволяет выполнить команду во всех вкладках.

Теперь давайте обсудим окна. Окнами в Вим называются прямоугольные области, в которых можно редактировать текст. Появление вкладок снижает важность окон, однако иногда они полезны. Во-первых, окно помощи --- это именно окно. Во-вторых, удобно открыть тот же файл в другом окне и сравнивать разные его части. В-третьих, vimdiff также использует окна для сравнения файлов. Далее, иногда может быть удобно работать с несколькими файлами одновременно так, чтобы видеть их все. Особенно это пригождается при настройке сложных расчетов --- все файлы параметров на виду. Наконец, порой приходится работать с Вим 6, где вкладок нет...

: split файл - новое окно выше текущего, открывает файл, если файл не указан - откроется тот же, что уже открыт.

: vsplit файл - новое окно слева от текущего, все так же.

Все команды для окон начинаются с <C-W>, после нажимаете:

s - split, v - vsplit, h,l,j,k - стрелки (переход к окну слева, справа, ниже и выше текущего, по кругу), <C-W> (еще раз) - следующее окно (удобно если их два), r,R - передвигает окна по/против часовой стрелки, c - закрывает окно.

Можно переключать окна и мышкой, а закрывать обычными командами выхода из Вим. Есть команды командной строки и для всех действий выше - см. help.

У меня <C-W> повешено на wrap, поэтому мне эти команды недоступны. Обхожусь split, vsplit, мышкой и F10, на которой висит :q

Можно выполнить команду в каждом окне (windo), а также енять размер окон, мышкой или командами.

Хорошо зная вкладки и окна, можно работать чрезвычайно эффективно!