10 самых нужных команд vi
Этот текст я писал для solarisblog.ru уже достаточно давно. С тех пор я забросил этот блог, с Solaris не работаю, да и Solaris утратил популярность. Однако vi и vim я по-прежнему использую, но теперь в Linux. И описанные 10 команд по-прежнему остаются для меня самыми полезными.
Редактор vi считается очень сложным. Якобы, он требует много времени на изучение и знание большого количества команд, которые нужно вводить с клавиатуры.
На мой взгляд, vi – это очень простой редактор. Если не писать в нем стихи или программы, а использовать для целей администрирования, то нужно знать всего 10 команд. По крайне мере, наизусть я помню именно эти команды, и их мне вполне хватает для решения 99% задач администрирования Unix.
Итак, 10 самых нужных команд vi:
Режим команд:
i - переход в режим редактирования перед текущим символом (вставка, insert).
a - переход в режим редактирования после текущего символа (добавление, append).
r - замена одного символа в текущей позиции курсора (replace).
x - удаление символа в текущей позиции курсора.
dd - удаление всей строки, в которой находиться курсор.
u - отмена предыдущего изменения (undo).
/шаблон - поиск шаблона в файле. Если шаблон встречается несколько раз, то можно использовать команды навигации: n – поиск вперед, N – поиск назад.
yy – копирование текущей строки в буфер обмена (yank). Вставка – p.
Режим последней строки:
:wq! - запись файла и выход из vi.
:q! - выход из vi без записи текущих изменений.
Вот и все 10 самых необходимых команд vi. Ничего сложного, на мой взгляд.
Кроме этих команд, полезно помнить следующие модификаторы.
Регистр команды. Большинство команд работают как в верхнем, так и в нижнем регистре, но выполняют разные действия. Например, i выполняет переход в режим редактирования в текущей позиции курсора, а I – в начале строки. Поэкспериментировав с описанными выше командами, вы быстро найдете различия.
Числа. Действия многих команд можно изменить, набрав перед ними число. Например, команда 10dd выполняет удаление 10 строк. Если команда состоит из 2 букв, то число можно вставлять между ними, например y5y – копирование в буфер обмена 5 строк.
Запомнив эти 10 команд, можно легко работать с vi. Основное достоинство vi в том, что он есть в каждом Unix и работает одинаково в Linux, Solaris, BSD, AIX и HP-UX. Это означает, что если вы разберетесь с vi, то получите знакомый инструмент администратора в любом Unix.