|
|
26 мая 2011
Оглавление: 1. Vi 2. Другие редакторы
История
Первая версия была написана Биллом Джоем в 1976 году.
В то время наиболее распространённым был редактор ed. Поскольку он был довольно сложным для «простого смертного», George Coulouris разработал редактор em. Билл Джой модифицировал редактор em и назвал его en, а позднее он получил название ex, на котором и основан vi.
Интерфейс
В отличие от многих привычных редакторов, vi имеет модальный интерфейс. Это означает, что одни и те же клавиши в разных режимах работы выполняют разные действия. В редакторе vi есть два основных режима: командный режим и режим вставки. По умолчанию, работа начинается в командном режиме.
В режиме вставки клавиатура используется для набора текста. Для выхода в командный режим используется клавиша Esc или комбинация Ctrl + c .
В командном режиме алфавитные клавиши соответствуют командам перемещения и изменения текста. Так, команды h , j , k , l перемещают курсор на одну позицию влево, вниз, вверх, вправо соответственно, команда x удаляет один символ и т. д. Это позволяет работать без необходимости использования дополнительной клавиатуры и клавиш-модификаторов, таких, как Ctrl , Alt и т. д. Более сложные операции редактирования получаются комбинацией простых, например, 2dw удаляет два слова. Для полнотекстовых операций имеется возможность задавать команды ex в подобии командной строки, например, :1,.s/wiki/]/g заключит все вхождения последовательности символов wiki от начала текста до текущей позиции в двойные квадратные скобки.
Часто используемые команды
/str — Поиск строки str вперед. str может быть регулярным выражением
?str — Поиск строки str назад
n — Повторить поиск в том же направлении
N — Повторить поиск в обратном направлении
:s/old/new/ — Заменить old на new в указанном диапазоне строк range. new и old могут быть регулярными выражениями, а range задается аналогично диапазону строк в редакторе ed. Суффикс g означает заменить во всем файле.
:e! перезагрузить текущий файл
:33 перепрыгнуть на 33ю строку текстового файла
i перейти в режим редактирования
a — перейти в режим редактирования после текущего символа
u отменить последнее действие
x удалить символ под курсором
dd удалить всю строку
:w — сохранить файл на диске
:wq — выход с сохранением файла
:q — выход
:q! — выход без сохранения файла
:r — вставить в документ другой файл
Чтобы получить подробную помощь по редактору vi, выполните команду man vi в Unix shell.
Использование регулярных выражений
/^$/ — пустая строка, т.е. только конец строки
/./ — непустая строка, по крайней мере один символ
/^/ — все строки
/thing/ — thing где-либо в строке
/^thing/ — thing в начале строки
/thing$/ — thing в конце строки
/^thing$/ — строка, состоящая лишь из thing
/thing.$/ — thing плюс любой символ в конце строки
/\/thing\// — /thing/ где-либо в строке
/hing/ — thing или Thing где-либо в строке
/thing/ — thing, за которой идет одна цифра
/thing/ — thing, за которой идет не цифра
/thing1.*thing2/ — thing1, затем любая строка, затем thing2
/^thing1.*thing2$/ — thing1 в начале и thing2 в конце
Чтобы манипулировать не только целыми фрагментами, выбираемыми регулярными выражениями, но и их частями, используются помеченные регулярные выражения: если конструкция \ появляется в регулярном выражении, то часть соответствующего ей фрагмента доступна как \1. Допускается использование до девяти помеченных выражений, на которые ссылаются \1, \2 и т.д.
Вот ряд примеров использования помеченных регулярных выражений:
s/\\/\2\1/ — Поместить 3 первых символа в конец строки
/\\1/ — Найти строки, содержащие повторяющиеся смежные цепочки символов
s/^\\.\/\1.\\2/ — Перенести остаток строки после первой точки на следующую строку
Просмотров: 1781
|