Меню
Главная
Случайная статья
Настройки
|
vi (от англ. visual, по-русски читается «ви-ай») — серия текстовых редакторов операционных систем семейства UNIX.
Содержание
История
Первая версия была написана Биллом Джоем в 1976 году.
В то время наиболее распространённым был редактор ed. Поскольку он был довольно сложным для «простого смертного», George Coulouris разработал редактор em (англ. editor for mortals — «редактор для смертных»). Билл Джой модифицировал редактор em и назвал его en, а позже на его основе создал ex, в котором появился визуальный режим, вызывавшийся командой vi. Так как пользователи больше времени проводили в визуальном режиме, ex 2.0, ставший частью 2BSD, сразу запускался уже в нём. Так появился vi, бывший в то время всего лишь жёсткой ссылкой на ex[3].
Редактор писался для терминала ADM-3A, имевшего ограниченную клавиатуру: на ней не было выделенных клавиш-стрелок, а из модификаторов доступны только Shift и частично
Интерфейс
В отличие от многих привычных редакторов, vi имеет модальный интерфейс. Это означает, что одни и те же клавиши в разных режимах работы выполняют разные действия. В редакторе vi есть два основных режима: командный режим и режим вставки. По умолчанию работа начинается в командном режиме.
В режиме вставки клавиатура используется для набора текста. Для выхода в командный режим используется клавиша
В командном режиме алфавитные клавиши соответствуют командам перемещения и изменения текста. Так, команды h , j , k , l перемещают курсор на одну позицию влево, вниз, вверх, вправо соответственно, команда x удаляет один символ и т. д. Это позволяет работать без необходимости использования дополнительной клавиатуры и клавиш-модификаторов, таких, как
Часто используемые команды/str — Поиск строки str вперед. str может быть регулярным выражением
?str — Поиск строки str назад
n — Повторить поиск в том же направлении
N — Повторить поиск в обратном направлении
:[range]s/old/new/[g] — Заменить old на new в указанном диапазоне строк range. new и old могут быть регулярными выражениями, а range задается аналогично диапазону строк в редакторе ed. Например, для диапазона строк с 32 по 64 range будет 32,64 , первая строка соответствует 1 , последняя задается через символ $ . Суффикс g означает заменить все вхождения old в строке, а не только первое.
:e! — перезагрузить текущий файл
:33 — переместиться на 33-ю строку текстового файла
i — перейти в режим редактирования
a — перейти в режим редактирования после текущего символа
u — отменить последнее действие
. — повторить последнее действие
x — вырезать символ под курсором
yy — копировать строку
dd — вырезать строку
p — вставить
J — склеить две строки
:w — сохранить файл на диске
:wq — выход с сохранением файла
ZZ — выход с сохранением файла
:q — выход
:q! — выход без сохранения файла
ZQ — выход без сохранения файла
:r — вставить в документ другой файл
Чтобы получить подробную помощь по редактору vi, выполните команду man vi в Unix shell (q — выход из справки).
Другие редакторы
|
|