Глава 16. Редактор Vi

Содержание
16.1. Запуск vi
16.2. Режимы
16.3. Открытие файлов
16.4. Сохранение файлов
16.5. Выход из vi
16.6. Настройка vi
16.7. Клавиши vi

vi(1) - это стандартная программа Unix для редактирования текста, и хотя мастерство в рабое с ним сегодня не является настолько важной задачей, как это было раньше, оно всё ещё очень ценится. Существует несколько версий (клонов) vi: vi, elvis, vile и vim. Одна из них доступна практически во всех версиях Unix, а также и в Linux. Все эти версии обладают одинаковыми наборами основных функций и команд, поэтому, изучив один из клонов, вы с лёгкостью перейдёте на другой. Из-за наличия на сегодняшний день большого разнообразия текстовых редакторов, доступных в дистрибутивах Linux и версиях Unix, многие люди больше не используют vi. Тем не менее он всё ещё остаётся наиболее универсальным текстовым редактором в Unix и Unix-подобных системах. Мастерство владения vi означает, что вам не никогда не придётся сидеть за Unix-машиной и чувствовать себя неуютно, имея в своём распоряжении хотя бы один мощный текстовый редактор.

vi обладает большим числом мощный функций, включая подсветку синтаксиса, форматирование кода, мощный механизм поиска с заменой, макросы и многое другое. Эти возможности делают его особо привлекательным для программистов, веб-разработчиков и др. Системные администраторы по достоинству оценят его автоматизацию и интеграцию с командным процессором.

В Slackware Linux версией vi по умолчанию является elvis. Другие версии, включая vim и gvim, будут будут доступны, если вы установили соответствующие пакеты. gvim - это версия vim для X Window, имеющая панели инструментов, отделяемые меню и диалоговые окна.

16.1. Запуск vi

vi может быть запущен из командной строки различными способами. Самый простой из них:

% vi

Рисунок 16-1. Сеанс vi.

При этом будет запущен vi с пустым буфером. В большинстве случаев вы увидите просто пустой экран. Это так называемый “командный режим”, в котором от вас ожидаются какие-либо действия. Описания различных режимов работы vi смотрите в Разд. 16.2. Чтобы выйти из vi, наберите следующее:

:q

При условии, что вы не сделали в файле никаких изменений, эта команда закроет vi. Если были сделаны изменения, вы будете предупреждены об этом и дана информация о том, как проигнорировать их. Игнорирование изменений означает добавление восклицательного знака после “q”:

:q!

Обычно восклицательный знак означает принудительное выполнение какого-то действия. Позже мы подробнее рассмотрим это и другие комбинации клавиш.

Вы также можете запустить vi вместе с уже существующим файлом. Например, файл /etc/resolv.conf можно открыть таким образом:

% vi /etc/resolv.conf

И, наконец, vi можно запустить на определённой строке файла. Это особенно полезно для программистов, когда сообщение об ошибке содержит номер строки, на которой вылетела программа. Например, вы можете запустить vi на 47-й строке /usr/src/linux/init/main.c:

% vi +47 /usr/src/linux/init/main.c

vi покажет на экране указанный файл и поместит курсор на заданной строке. В случае, если вы указали строку за пределами конца файла, vi поместит курсор на последней строке. Это особенно полезно для программистов, поскольку в случае возникновения ошибки они могут попасть сразу в нужно место файла без необходимости поиска этого места.