☰ Оглавление

Краткая справка по vi

Несколько слов об этом руководстве. При его создании я руководствовался следующими целями: На первом месте должна быть компактность. Руководство описывает только суть команд. Детали можно прочитать в полном руководстве или просто попробовать, запустив vi. Во-вторых, руководство должно быть полным. Это не краткое руководство «как выйти из vi», а полное описание всех возможностей. Пока описано не всё, но те аспекты работы в vi, которые затронуты в этом руководстве, освещены с максимальной детальностью.

Пока это достаточно сырая альфа-версия, её надо ещё причесать. Многие её недостатки для меня очевидны, но я всё равно принимаю любые комментарии, советы и замечания.

Скачать таблицу можно в формате PDF vi-guide.pdf или в формате PostScript vi-guide.ps.gz.

Команды vi

Информация
Ctrl-G информация (синоним :f)
Перемещения по файлу
Ctrl-D pageDown
Ctrl-U pageUp
Ctrl-E вниз на одну строку (рядом c D)
Ctrl-Y вверх на одну строку (рядом с U)
Ctrl-F вперёд на одну строку (forward)
Ctrl-B назад на одну строку (backward)
Перемещения к заданной строке
G в конец файла
NumG к строке Num
Перемещения: поиск подстроки
/String поиск подстроки String
?String поиск подстроки String назад
n повторить последний поиск
N повторить последний поиск в противоположном направлении
Перемещения по экрану
h влево (можно предворять числом; та же Ctrl-H, но Ctrl-H работает ещё и как BS в режиме ввода)
j вниз (можно предворять числом)
k вверх (можно предворять числом)
l вправо (можно предворять числом; оно же SPACE)
+ к первому не-пробелу следующей строки
Ctrl-M тоже самое, что и + (он же RETURN)
- к первому не-пробелу предыдущей строки
H к первой строке на экране
NumH к Num-ой строке на экране
M к средней строке на экране
L к последней строке на экране
NumL к Num-ой строке снизу
Перемещение по высокоуровневой разметке
( по предложениям вверх
) по предложениям вниз
{ по параграфам вверх
} по параграфам вниз
[[ по секциям вверх
]] по секциям вниз
Перемещения по строке
w к началу следующего слова
b к началу предыдущего слова
W аналог w, но включает пунктуацию в слово
B аналог b, но включает пунктуацию в слово
e к концу следующего слова
fChar переместиться вперёд к символу Char (можно предворить числом)
FChar переместиться назад к символу Char (можно предворить числом)
tChar аналогична f, но не включает найденный символ
TChar аналогична F
; повторить последний поиск f/F/t/T
, повторить последний поиск f/F/t/T в обратном направлении
$ в конец строки
^ к первому не-пробелу в строке
0 (ноль) к первому символу в строке
| к первому символу в строке
Num| к Num-ому символу в строке
Перемещения: метки
'' к предыдущему положению в режиме строк
`` к предыдущему положению в терминах символов
mChar поставить метку с именем Char
'Char перейти к стоке с меткой Char
`Char перейти к метке Char
Правка
i режим вставки (ESC или Ctrl-[ — выход из режима вставки)
I вставка в начале строки (^i)
a режим добавления (подобен i)
A добавлять в конец строки ($a)
C заменить остаток строки (c$)
D удалить всё до конца строки (d$)
o добавить строку ниже и перейти в режим ввода
O добавить строку сверху и перейти в режим ввода
R режим замены
J объединить строки (можно предварять числом)
Правка: мелкая корректировка
rChar заменить символ на Char
s заменить один символ введённой строкой
Nums заменить Num символов введённой строкой
cMotion заменить символы, заданные перемещением Motion
cc заменить строку (аналог S)
` изменить регистр
Правка: отступы
>> сдвинуть текущую строку вправо
Num>> сдвинуть вправо Num строк ниже текущей
>Motion сдвинуть вправо строки, заданные перемещением Motion
<< сдвинуть текущую строку влево
Num<< сдвинуть влево Num строк ниже текущей
<Motion сдвинуть влево строки, заданные перемещением Motion
Правка: удаление
dMotion удаление всех символов, покрываемых перемещением Motion
dd удаление строки
dNumd удаление Num строк (оно же Numdd)
x удалить символ после курсора
X удалить символ перед курсором
Правка в режиме ввода
Ctrl-H backspace
Ctrl-U удалить введённую строку
Ctrl-W удалить слово
Ctrl-VChar символ Char вставляется в текст как есть, даже если он управляющий
Правка: отмена
u отменить последние изменения
U отменить все изменения в текущей строке
Правка: дублирование
yMotion помещает в неименованый буфер текст, покрываемый перемещением Motion
"CharyMotion помещает текст в буфер Char
p вставить из неименованного буфера после
"Charp аналог p, но из буфера Char
P вставить из неименованного буфера до
"CharP аналог P, но из буфера Char
yy копировать в буфер текущую строку (синоним — Y)
Numyy копировать в буфер Num строк
. повторить последнюю команду работающую с буфером (в том числе удаление)

Изменения

Планы

Ближайшее время я планирую дописать

Если вы заметили ошибки или опечатки, пожалуйста, сообщите мне