Глава 16. Редактор 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, имеющая панели инструментов, отделяемые меню и диалоговые окна.
vi может быть запущен из командной строки различными
способами. Самый простой из них:
При этом будет запущен vi с пустым буфером. В большинстве
случаев вы увидите просто пустой экран. Это так называемый “командный режим”,
в котором от вас ожидаются какие-либо действия. Описания различных режимов работы vi смотрите в Разд. 16.2. Чтобы выйти из
vi, наберите следующее:
При условии, что вы не сделали в файле никаких изменений, эта команда закроет vi. Если были сделаны изменения, вы будете предупреждены об этом и
дана информация о том, как проигнорировать их. Игнорирование изменений означает
добавление восклицательного знака после “q”:
Обычно восклицательный знак означает принудительное выполнение какого-то действия.
Позже мы подробнее рассмотрим это и другие комбинации клавиш.
Вы также можете запустить vi вместе с уже существующим
файлом. Например, файл /etc/resolv.conf можно открыть таким
образом:
И, наконец, vi можно запустить на определённой строке файла.
Это особенно полезно для программистов, когда сообщение об ошибке содержит номер строки,
на которой вылетела программа. Например, вы можете запустить vi
на 47-й строке /usr/src/linux/init/main.c:
% vi +47 /usr/src/linux/init/main.c
|
vi покажет на экране указанный файл и поместит курсор на
заданной строке. В случае, если вы указали строку за пределами конца файла, vi поместит курсор на последней строке. Это особенно полезно для
программистов, поскольку в случае возникновения ошибки они могут попасть сразу в нужно
место файла без необходимости поиска этого места.