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

Рубрика "Секреты Вим". Параметры запуска

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

Это ключ из одного знака минус (-). Он означает, что поток STDIN загружается в Вим. Это полезно для перенаправлений:

ls | vim -

Если вы не поставите минус, Вим воспримет входящий поток как параметры командной строки, имена файлов, и скорее всего — вряд ли вы этого хотели. А с минусом он воспримет его как текст и откроет его в буфере: редактируйте, читайте, сохраняйте. Большую выдачу удобнее направлять не в more, а как раз в Вим. Например,

ifort --help | vim -

— и читайте в свое удовольствие

Просто параметр — это имя файла:

vim file1 file2 file3

Открываются все (есть какой-то предел по числу), но это неудобно, переходить придется с помощью команд :next, :Next (предыдущий файл), :prev (то же самое). Файлов не видно. Вкладки гораздо удобнее, за ними по удобству идут окна, которые, однако, удобнее, если надо видеть оба текста одновременно.

Ключ -p предписывает открыть файлы во вкладках. Есть ограничение по количеству, остальные будут открыты по-старому и доступны по :next, :prev. Выйти из Вим, закрыв все файлы, можно через :qa

Можно открыть файлы в разных окнах: ключи -o и -O. Первый располагает окна горизонтально, второй вертикально. Это бывает полезно, например, vimdiff именно это и делает: открывает файлы в окошках и включает режим различий, о котором следующий ключ.

-d — то же, что vimdiff, открывает файлы в режиме различий, для чего выставляет опцию :set diff.

Ключи -R, -m, -M похожи, но различаются. Первый — это Read Only, файл защищен от изменений, но не абсолютно. Вим предупредит при попытке изменить файл, но препятствовать не будет. При попытке сохранить откажется это делать, но запрет можно обойти командой :w!

Ключ -m не даст сохранить файл, защита посерьезнее. А ключ -M — не позволит даже изменить, режим "только для чтения".

Есть ключ -Z для защищенного режима, в котором отключены внешние команды.

Ключ -b полезен для работы с двоичными файлами. Он гарантирует, что ничего не попортит, трактуя байты как куски юникодных символов. По сути, он вообще не рассматривает данные как юникодный текст. Никаких переносов, например. Это бывает полезно, если в двоичном файле есть текстовые вставки и вам надо их подправить.

Ключ -n — работа только в памяти. Бывает надо, если, скажем, диска нет, а Вим запущен с CD. Или очень медленный диск, вроде дискеты (они еще где-то остались?))) Или просто не хотите оставлять следов... Восстановление после сбоя будет, естественно, невозможно.

Есть ряд ключей для экзотических языков. Так, -H запускает режим иврита (раскладка и справа налево). Есть также режимы для арабского (-A) и фарси (-F).

Ключ -u позволяет указать файл настроек вместо .vimrc. Это очень полезно, если вы работаете по ssh на удаленном ресурсе и либо не имеете доступа к .vimrc, либо он общий и писать туда свои настройки не очень правильно. Кроме того, это легкий способ включить свой набор настроек для особых задач, например, для теха. Есть более правильный способ, по типу файла, но мы про спрямление пути.

Ключ "плюс" (+) — перейти в конец файла или на строку с данным номером (указывается сразу после плюса).

Есть такая удобная штучка, которую надо занести в .vimrc; она позволяет прыгнуть на последнюю известную позицию курсора, если она корректная:
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif

Ключ -S — выполнить скрипт. По умолчанию это Session.vim в текущем каталоге, либо укажите свой. Чаще всего это и есть сохраненнная сессия, но может быть что хотите.

Ключ -y запускает Вим в "легком режиме". Я еле вышел оттуда! Вим работает как обычный редактор без режимов. Это ужасно, просто ужасно. Если что, выход в нормальный режим по <C-L>.

И последнее: -x — режим редактирования зашифрованных файлов. Вводите пароль и вперед. Для уже зашифрованных файлов не нужен, пароль и так будет запрошен. А вот новый файл создать — это да. Очень удобно для шпионской и любовной переписки. Удачи вам в том и другом!

Help по ключам
Help по ключам

Оглавление рубрики

Навигатор по каналу