Работа с редактором vi

Работа с редактором vi

 

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

В режиме вставки клавиатура используется для набора текста. Для выхода в командный режим используется клавиша Esc или комбинация Ctrl+c.

В командном режиме алфавитные клавиши соответствуют командам перемещения и изменения текста. Так, команды hjkl перемещают курсор на одну позицию влево, вниз, вверх, вправо соответственно, команда x удаляет один символ и т. д. Это позволяет работать без необходимости использования дополнительной клавиатуры и клавиш-модификаторов, таких, как CtrlAlt.

Запуск редактора vi

Запустим редактор vi и создадим новый файл по имени test

/home/larry# vi test

На экране будет примерно следующая картинка:

Колонка символов ~ обозначает пустые строки, иначе говоря, указывает, что мы находимся в конце файла.

В приводимых ниже «экранчиках» будет показано всего несколько строк текста, где filename — имя файла, который надо редактировать.

vi file name

 

Ввод текста

Редактор vi сейчас находится в командном режиме. Нажмём клавишу i, и редактор перейдёт в режим ввода текста. Теперь вводим, например, следующий текст:

 

Введите любое количество строк, после каждой нажимая клавишу Enter. Исправлять опечатки можно с помощью клавиши Backspace. Для выхода из режима ввода и возвращения в командный режим нажмём клавишу Esc.

 

Изменение текста

Отдельные части текста можно заменять на другие; для этого используется команда R. Подведите курсор к первому символу в слове meeting, нажмите клавишу R и введите слово session.

Команда r заменяет один символ, а именно тот, на который указывает курсор. Например, подведём курсор к началу слова Now, введём команду r и за ней букву C. На экране возникнет следующее:

Сохранение изменений и выход из редактора vi

Когда вводится команда :, курсор переходит на последнюю строку экрана, и таким образом редактор оказывается в режиме последней строки:

В этом режиме возможно вводить некоторые расширенные команды. Одна из них — команда q!, которой завершается работа с редактором vi без сохранения сделанных изменений. Команда :wq сначала сохраняет файл со сделанными изменениями, а затем выходит из редактора vi. Команда ZZ (выданная в командном режиме, т. е. без введения команды) эквивалентна команде :wq. Если файл со времени последней модификации не изменялся, то время создания файла также не будет изменено. Напомним, что в режиме последней строки введение команды завершается клавишей Enter.

Чтобы сохранить файл, но не выходить из редактора vi, используется команда :w.

Справочник

Команды Выполняемые функции
TERM=terminal_name
export TERM
Установка конфигурации терминала
tput init Инициализировать терминал как terminal_name
vi filename Вызов редактора vi для редактирования файла filename
a Добавить текст после курсора
h Перемещает курсор на один символ влево
j Перемещает курсор вниз на одну строку
k Перемещает курсор вверх на одну строку
l Перемещает курсор на один символ вправо
x Удалить символ
<CR> Возврат каретки
<ESC> Перейти из режима ввода в командный режим
:w Записать в файл
:q Завершить работу с редактором
:wq Записать буфер в файл и завершить работу с редактором vi
ZZ Записать изменения в файл и завершить работу с vi

 

Обсуждение закрыто.