Редактор vi предназначен для создания и редактирования текстовых файлов. Функциональные возможности редактора включают как базовые средства редактирования (набор текста, вставка, удаление, замена), так и расширенные возможности (автоформатирование, команды пакетной обработки, работа с группами файлов и т.д.). Несмотря на в значительной мере устаревший интерфейс, редактор vi остается фактическим стандартом и гарантированно присутствует в любой UNIX-системе. Существуют альтернативные реализации редактора vi (vim, elvis и др.), содержащие дополнительные возможности и несколько упрощенный пользовательский интерфейс.
Запуск редактора осуществляется командой
vi <имя_файла>
Если указанный файл существует, он будет открыт для редактирования, иначе редактор создаст новый файл с заданным именем.
В каждый момент времени редактор находится в одном из трех режимов:
1. Командный режим. Клавиши (в том числе алфавитно-цифровые) воспринимаются как команды перемещения по тексту и редактирования.
2. Режим вставки. Набираемый текст вносится в редактируемый файл. Действует также клавиша «забой» для удаления символов. Для выхода из режима вставки в командный режим служит клавиша Esc.
3. Режим «последней строки». В этом режиме вводятся специальные команды редактора, для которых не зарезервированы комбинации клавиш. Перейти в данный режим можно из командного режима клавишей «двоеточие». Ввод производится в нижней («последней») строке экрана.
При запуске редактор находится в командном режиме. Режим позволяет перемещать курсор по тексту с помощью клавиш-стрелок. Основные функции редактирования, используемые в командном режиме, приведены в таблице 3.1.
Таблица 3.1. Основные команды vi (командный режим)
Клавиши | Команда |
i | переход в режим вставки (вставка в позиции курсора – перед текущим символом) |
a | переход в режим вставки (вставка после текущего символа) |
o | переход в режим вставки (вставка после текущей строки) |
x | удалить символ в позиции курсора |
dd | удалить текущую строку |
dw | удалить текущее слово |
Команды сохранения файла и выхода из редактора выполняются из режима «последней строки». Для перехода в режим последней строки необходимо: закончить вставку / редактирование клавишей Esc; ввести символ «:» («двоеточие»), ввести командную последовательность и нажать Enter. Основные команды данного режима приведены в таблице 3.2.
Таблица 3.2. Основные команды vi (режим «последней строки»)
Клавиши | Команда |
:w | сохранение текущего файла |
:w file | сохранение файла под именем file |
:wq | сохранение файла и выход из vi |
:q | выход из vi (изменений в файл не внесено) |
:q! | выход из vi без сохранения внесенных изменений |
:r file | вставить в текущий файл содержимое файла file |
Дополнительную информацию по редактору vi можно получить в справочном руководстве man:
man vi