Текстовий редактор VI
Текстовий редактор vi є одним з найпоширеніших текстових редакторів для різних версій UNIX. Адміністратору необхідно опанувати бодай основи цього редактора, так як знайти його можна практично в будь-якій UNIX-системі. Як і з іншими екранними редакторами, щоб відкрити файл, достатньо набрати vi ім'я_файлу.
Режими роботи
Основною особливістю редактора vi є наявність режимів роботи. Основним режимом є режим команд, в якому натискання на клавіші задають команду редактору. Для редагування тексту зручно застосовувати режим вставки, в якому курсор може переміщатися по редагованому тексту, вставляти або видаляти символи. На початку роботи редактор знаходиться в командному режимі, а для переходу в режим вставки необхідно ввести команду i (insert) або a (append) - для вставки тексту перед і після курсору відповідно. Для повернення в командний режим використовується клавіша ESC. У командному режимі всі натискання клавіш сприймаються як команди. Довгі команди зручно набирати в командному рядку - в останньому рядку екрані, куди можна перейти при натисканні «:».
Часто використовувані команди
/ str - Пошук рядка str вперед. str може бути регулярним виразом
? str - Пошук рядка str назад
n - Повторити пошук в тому ж напрямку
N - Повторити пошук у зворотному напрямку
- [range] s / old / new / [g] - Замінити old на new в зазначеному діапазоні рядків range. new і old можуть бути регулярними виразами, а range задається аналогічно діапазону рядків у редакторі ed. Суфікс g означає замінити у всьому файлі.
- e! - Перезавантажити поточний файл
- 33 - перестрибнути на тридцять третій рядок текстового файлу
i - перейти в режим редагування
a - перейти в режим редагування після поточного символу
u - скасувати останню дію
. - повторити останню дію
x - видалити символ під курсором
dd - видалити весь рядок
- w - зберегти файл на диску
- wq - вихід зі збереженням файлу
- q - вихід
- q! - вихід без збереження файлу
- r - вставити в документ інший файл
Щоб отримати детальну допомогу по редактору vi, виконайте команду man vi в Unix shell (q - вихід з довідки).
Використання регулярних виразів
/ ^ $ / - порожній рядок, тобто тільки кінець рядка
/. / - не порожній рядок, принаймні один символ
/ ^ / - всі рядки
/ thing / - thing де-небудь в рядку
/ ^ thing / - thing на початку рядка
/ thing $ / - thing в кінці рядка
/ ^ thing $ / - рядок, що складається лише з thing
/ thing. $ / - thing плюс будь-який символ в кінці рядка
/ \ / thing \ / / - / thing / де-небудь в рядку
/ [tT] hing / - thing або Thing де-небудь в рядку
/ thing [0-9] / - thing, за якою йде одна цифра
/ thing [^ 0-9] / - thing, за якою йде не цифра
/ thing1 .* thing2 / - thing1, потім будь-який рядок, потім thing2
/ ^ thing1 .* thing2 $ / - thing1 на початку і в кінці thing2