Несколько слов об этом руководстве. При его создании я руководствовался следующими целями: На первом месте должна быть компактность. Руководство описывает только суть команд. Детали можно прочитать в полном руководстве или просто попробовать, запустив 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 строк |
| . | повторить последнюю команду работающую с буфером (в том числе удаление) |
Ближайшее время я планирую дописать
Если вы заметили ошибки или опечатки, пожалуйста, сообщите мне