Глава 25. Команды Linux, о которых нужно знать каждому линуксоиду
421
После запуска редактора вы можете переключать режимы (как, будет сказано поз-
же), но выбрать режим можно и при запуске редактора:
vi файл
vi -е файл
vi -R файл
Первая команда запускает vi и загружает файл. Вторая —
запускает vi в командном
режиме и загружает файл. Третья — запускает режим просмотра файла. Если ука-
занный файл не существует, то он будет создан. По умолчанию активируется имен-
но командный режим, поэтому в ключе
-е
смысла нет.
После запуска vi главное — знать, как из него выйти. Ведь в нем не будет привыч-
ной
строки меню, редактор также не реагирует на привычные комбинации клавиш
вроде
+. Комбинация + тоже не поможет.
В табл. 25.4 приведены основные команды редактора vi.
Таблица 25.4.
Основные команды редактора vi
Команда
Описание
: q!
Выход без сохранения
: w
Сохранить изменения
:w <файл>
Сохранить изменения под именем
<файл>
: wq
Сохранить и выйти
:q
Выйти, если нет изменений
Рис. 25.4.
Редактор vi
422
Часть V. Системные трюки, или Linux изнутри
Таблица 25.4
(окончание)
Команда
Описание
i
Перейти в режим вставки символов в позицию курсора
а
Перейти в режим вставки символов в позицию после курсора
о
Вставить строку после текущей
O
Вставить
строку над текущей
X
Удалить символ в позицию курсора
dd
Удалить текущую строку
u
Отменить последнее действие
Команды, которые начинаются с двоеточия, будут отображены в нижней строке,
остальные просто выполняются, но не отображаются.
Как уже было отмечено,
у редактора vi есть два основных режима (режим просмотра мы не учитываем): ре-
жим команд и режим редактирования (визуальный). Переключение в режим команд
осуществляется нажатием клавиши
. Нажатие клавиш , <а> и других пере-
ключает редактор в режим вставки, когда набираемые символы трактуются именно
как символы, а не как команды. Для переключения обратно в командный режим
надо снова воспользоваться клавишей . В некоторых случаях (например, ко-
гда вы пытаетесь передвинуть курсор левее первого символа в строке) переход
в командный режим осуществляется автоматически.
Теперь немного практики. Введите команду:
$ vi file.txt
Нажмите клавишу , чтобы переключиться в режим вставки. Наберите любой
текст, но постарайтесь не ошибаться, поскольку исправление ошибок в vi — дело,
требующее отдельного разговора. Затем нажмите клавишу и введите коман-
ду :
wq
.
После выхода из редактора введите команду:
cat file.txt
Так вы убедитесь, что файл создан, и в нем сохранен введенный вами текст. Теперь
приступим к дальнейшему рассмотрению редактора. Если ввести не команду
i
,
а
команду
а
,
то вы тоже перейдете в режим вставки, но с одним отличием — вводи-
мый текст будет вставляться не перед символом, в котором находится курсор, а по-
сле него. Также в режим вставки можно перейти командами
о
и
O
.
В первом случае
добавится пустая строка после текущей строки, а во втором — перед текущей стро-
кой, и весь дальнейший ввод будет восприниматься именно как ввод текста, а не
команд.
Чтобы удалить символ, нужно перейти в режим команд и над удаляемым символом
нажать клавишу <х>. Да, клавиши и тут не работают. Точнее,
работает, но для удаления последней непрерывно введенной последо-
вательности символов. Например, у нас есть текст:
vi - текстовый редактор.
Вы