Редактор VI. Список команд

Из книги: М.Мошков "Введение в системное администрирование Unix"

РЕЖИМЫ: Ввода == ESC ====> Командный == :Q ==> Редактора ed
            ^                  |     ^                |
            +----aAiIcCrRs <---+     +----- vi -------+

             ПЕРЕМЕЩЕНИЕ ПО ФАЙЛУ

{стрелки},hjkl
^U/^D   табуляция вверх/вниз
^F/^B   страницу вниз/вверх
^E/^Y   подвинуться на строку вниз/вверх
w/b/e   вперед/назад на слово/в конец слова
W/B/E   вперед/назад на слово/в конец опробеленного слова
 (/)    назад/вперед на предложение
 {/}    назад/вперед на абзац
[[/]]   назад/вперед на функцию или секцию
%       найти парную скобку ( или {
{n}G    на строку {n}
{n}|    в колонку {n}
H/M/L   в начало/середину/конец экрана
z/z./z- текущую строку в начало/середину/конец экрана
^/$/0   начало/конец строки

             РЕДАКТИРОВАНИЕ ТЕКСТА

x       уничтожить символ
X       забой
J       склеить строки

             В РЕЖИМЫ ВВОДА

a/i / A/I       вставка за/перед _ / концом/началом строки
R       режим замены
r       буква на букву
s       буква на буквы
o/O     вставить строку под/над _
C$      Заменить конец строки

             ИНФОРМАЦИЯ

^G      о текущем файле и строке

             ОТКАТКА

u       откатка (одна)
^L/^R   перерисовать

             РЕДАКТИРОВАНИЕ В РЕЖИМЕ ВВОДА

ESC     вернуться в командный режим
Забой   Забой
^W/^U   Убрать слово/Убрать строку
^V      Вставить CRTL-символ[ы]

             ОПЕРАТОРЫ С ПОЗИЦИОНИРОВАНИЕМ

p/P     вспомнить фрагмент за/перед _

{n} ["буква_буфер] "команда" {m}"команда позиционирования"
  весь фрагмент запоминается!    или повтор команды для строки
d       уничтожать фрагмент
y       запоминать фраг
c       заменить фрагмент (==> в режим ввода )
     сдвинуть влево/вправо
! команда       пропустить фрагмент через фильтр

             ПРИМЕРЫ

7yy     запомнить 7 строк в неименованном буфере
"aAd{   добавить к буф a с удалением от _ до начала абзаца
!G sort отсортировать строки от курсора и до конца

             "МАКРОКОМАНДЫ"

:map  клавиша_имя_макро тело_макрокоманды  {CR}
:map! клавиша_имя_макро тело_макрокоманды  {CR}  - в режиме ввода
:ab   сокращение        сокращаемый_текст  {CR}  - в режиме ввода

             ПОИСК

?строка         искать вверх
/строка         искать вниз
n               повторить поиск
N               вернуться на последнюю найденную строку

             ПОИСК_С_ЗАМЕНОЙ

:s/рег_выраж/замена/gc   - глобальный с подтверждением
:Q/vi                      вход / выход в режим ed
:g/строка                - поставить визуальный фильтр
:+5                        движение по файлу

             РЕДАКТОР_ED. Вход ":" (надолго "Q") Выход "CR" / (VI)

^^      Перейти в альтернативное окно
:[1,$] w [>>] [file]   записать в file [от 1 до $ строки]
:q[!]  закончить сеанс [форсированно]
:[15]r [file] или [!komanda]   вставить после [15] стр
:e     редактировать новый файл
:n     редактировать следующий файл
:sh    выйти в Shell
:! команда  запустить на выполнение Shelloм

             УСТАНОВКА РЕЖИМОВ VI

:set nu / nonu   нумеровать/ненумеровать строки
:set smd{CR}     показывать текущий режим
EXINIT="конфигурационные команды"       - переменная окружения
.exrc                           - файл с командами конфигурации


Список команд