понедельник, 1 октября 2007 г.

Один Vim, много файлов

Являсь мощным текстовым редактором, vim позволяет с помошью одной командной строки сделать столько, сколько другие редакторы не могут позволить сделать с помошью мыши и шаманского бубна. Например работа с несколькими файлами. Для открытия в vim нескольких файлов достаточно в командной строке написать:

vim file1 fill2

Перемещаться по открытым файлам можно будет с помощью команд :n (вперед), :prev (назад). Это самый простой способ.

vim позволяет разбивать окна:



Для этого есть команды :split (горизонтальное разбиение) и :vsplit (вертикальное разбиение). Если просто выполнить команду без параметров, то текущее окно равномерно разобъется на 2 окна с одинаковым содержимым. Для просмотра двух файлов одновременно, можно либо указать имя файла после команды (:split filename) либо перейти в нужное окно и открыть файл командой :e filename. В обоих случаях файл будет открыт и доступен для редактирования.

Если необходимо открыть файл только для просмотра, можно использовать команду :sview filename.

Для перемещения между окнами используется комбинация: ctrl+w (double w).

По умолчанию окно разбивается пополам, но можно указать размер в строках первого из разбиваемых окон :Nsplit, где N - размер в строках.

Разбивать файлы на отдельный окна можно еще при открытии:

vim -o file1 file2 file3

Параметр -o - горизонтальное разбиение, -O - вертикальное. Так же можно указать сколько разбиений будет, добавив количество к одному из этих параметров:

vim -o3 file1 file2

После запуска, окно будет разбино на 3 части, третья из которых будет пуста.

И еще одна полезная возможность - сохранение текущего сеанса, со всеми сплитами, путями к открытым файлам и т.д. Команды :mksession name и :mkview name - сохраняют текущую сессию. Каманды :source name и :loadview name - востанавливают соответственно (созданные предыдущими командами скрипты открывают нужные файли и, если надо, сплитят окно).


Больше узнать об этом всем можно спросив в самого вима :help split.

2 комментария:

sunguine комментирует...

спасибо!
именно то, что я искала.
очень полезная информация.
спасибо за труд.

Игорь комментирует...

Старенькая тема, но оказалась весьма полезной. Спасибо.