Несколько слов об этом руководстве. При его создании я руководствовался следующими целями: На первом месте должна быть компактность. Руководство описывает только суть команд. Детали можно прочитать в полном руководстве или просто попробовать, запустив vi. Во-вторых, руководство должно быть полным. Это не краткое руководство «как выйти из vi», а полное описание всех возможностей. Пока описано не всё, но те аспекты работы в vi, которые затронуты в этом руководстве, освещены с максимальной детальностью.
Пока это достаточно сырая альфа-версия, её надо ещё причесать. Многие её недостатки для меня очевидны, но я всё равно принимаю любые комментарии, советы и замечания.
Скачать таблицу можно в формате PDF vi-guide.pdf или в формате PostScript vi-guide.ps.gz.
Информация | |
---|---|
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 строк |
. | повторить последнюю команду работающую с буфером (в том числе удаление) |
Ближайшее время я планирую дописать
Если вы заметили ошибки или опечатки, пожалуйста, сообщите мне