Files
lpic_1-101/ru/103_8.md
T
2018-04-05 11:51:16 +03:00

89 lines
5.4 KiB
Markdown

**103.8 Текстовый редактор** **Vi****.**
Студент должен уметь редактировать файлы в vi, и ориентироваться в нем.
**Изучаем** :
- навигацию по документу с использованием vi;
- использование основных режимов работы vi;
- вставку, редактирование, удаление, копирование и поиск текста.
**Термины и утилиты: **
- vi
- /, ?
- h,j,k,l
- i, o, a
- c, d, p, y, dd, yy
- ZZ, :w!, :q!, :e!
Так как все основные настройки в Linux выполняются редактированием файлов, все журналы, устройства, демоны и т.д. тоже по сути являются файлами, то текстовый редактор является одним из важнейших инструментов управления ОС. Существует множество редакторов с различными возможностями, здесь же будет рассмотрен редактор Vi.
**Vi** имеет **модальный** интерфейс и одни и те же клавиши в разных режимах выполняют разные действия. По умолчанию работа начинается в **командном режиме**.
Для перемещения по документу используются следующие символы:
- **h** _или_ **←** _(перемещение на символ влево);_
- **j** _или_ **↓** _(перемещение на символ вниз);_
- **k** _или_ **↑** _(перемещение на символ вверх);_
- **l** _или_ **→** _(перемещение на символ вправо);_
- **b**** ** _(перемещение в начало слова);_
- **e**** ** _(перемещение в конец слова);_
- **( ** _(перемещение в начало предложения);_
- **) ** _(перемещение в конец предложения);_
- **{ ** _(перемещение в начало абзаца);_
- **} ** _(перемещение в конец абзаца);_
- **^ ** _(перемещение в начало строки);_
- **$ ** _(перемещение в конец строки);_
- **1**** G **** ** _(перемещение в начало файла);_
- **G**** ** _(перемещение в конец файла)._
Для перехода в режим вставки можно воспользоваться следующими символами:
- **I**** ** _(режим вставки перед текущим символом);_
- **a**** ** _(режим вставки после текущего символа);_
- **o**** ** _(вставить новую строчку);_
- **s ** _(стереть символ и вставить)._
Для возврата в командный режим можно использовать клавишу **Esc** или сочетание **Ctrl**** + ****C**
Находясь в режиме редактирования можно использовать буфер обмена:
- **y** _ (скопировать)__;_
- **d** _ ( __вырезать__ )__;_
- **c** _ ( __изменить__ )__;_
- **p** _ (вставить)._
Также возможны комбинации с символами перемещения по тексту и обозначениями **d** (строка), **w** (слово) и **l** (символ); например
**yw** _ (скопировать слово);_
**dd** _ (вырезать строку);_
**cl** _ (изменить символ);_
**d**** $**_ (удалить с текущего места до конца строки);_
**y**** }**_ (скопировать с текущего места до конца абазца);_
Для поиска информации доступны символы:
- **/ ** _ (искать ниже по тексту набор символов, указанных после «/»);_
- **? ** _ (искать выше по тексту набор символов, указанных после «?»);_
- **n**** ** _ (показать следующий результат поиска);_
- **N**** ** _ (показать предыдущий результат поиска)._
Для завершения работы с файлом:
- **:e!** _ (отменить все изменения, где «!» - игнорировать все предупреждения);_
- **:**** w ****!** _ (записать изменения);_
- **:q ** _(выйти из файла);_
Как всегда, возможны комбинации, например:
**:**** wq ****! newfile.txt ** _(сохранить под именем_ _newfile __.__ txt_ _и выйти);_
Также доступны сокращенные команды:
- **ZZ ** _(сохранить и выйти)__;_
- **ZQ**** ** _(не сохранять и выйти);_