
Работа с редактором vi
В отличие от многих привычных редакторов, vi имеет модальный интерфейс. Это означает, что одни и те же клавиши в разных режимах работы выполняют разные действия. В редакторе vi есть два основных режима: командный режим и режим вставки. По умолчанию, работа начинается в командном режиме.
В режиме вставки клавиатура используется для набора текста. Для выхода в командный режим используется клавиша Esc или комбинация Ctrl+c.
В командном режиме алфавитные клавиши соответствуют командам перемещения и изменения текста. Так, команды h
, j
, k
, l
перемещают курсор на одну позицию влево, вниз, вверх, вправо соответственно, команда x
удаляет один символ и т. д. Это позволяет работать без необходимости использования дополнительной клавиатуры и клавиш-модификаторов, таких, как Ctrl, Alt.
Запуск редактора 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 |