Программирование
On-line приложения
Почитать
Web-сервер Apache
Печать и форматирование
MySQL
Разные рецепты
Сборка/установка
Редактор vi
Справки
Философия
Мой опыт
Скачать
Программы на Tcl/Tk (GUI)
Программы на Python/Tk (GUI)
Программы (CLI)
Help
Хобби
Фракталы
on-line
Язык для рисования фракталов
Гиперкуб
Теория относительности
Ампуллярии
Преподавание
Студенту/абитуриенту
Мой опыт
Автора!

Команды 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 строк
. повторить последнюю команду работающую с буфером (в том числе удаление)

Изменения

  • v0.1 — первая версия выложенная в публичный доступ
  • v0.2 — исправлены опечатки в описаниях команд. Спасибо, всем приславшим исправления!

Планы

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

  • команды ex
  • полезные советы
  • создать pdf-версию этого руководства для печати (сделано)

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

материалы по теме: «Настройка редактора vi».

Эта страница набрала немалую популярность, её посещает множество людей, поэтому я решил провести небольшое исследование. Если у вас есть комментарий, если вы сочли полученную информацию полезной, не полной, или вообще бесполезной, вы можете высказать своё мнение, пожелания, дополнения.

Если вы ожидаете получить от меня ответ или разъяснение, пожалуйста укажите e-mail.
Ваше сообщение не появится на странице, а просто отправится мне.

© 1999 − 2010 Мичурин Алексей — http://www.michurin.com.ru/