<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\documentclass[10pt,a4paper]{article}
%\documentstyle[10pt,twocolumn]{book}
\usepackage[koi8-u]{inputenc}
\usepackage[russian]{babel}

\usepackage{fancyhdr}
\usepackage[includehead,includefoot]{geometry}
\geometry{a4paper,top=7mm,bottom=7mm,footskip=1cm,left=15mm,right=7mm,twoside}
 % preamble
\pagestyle{fancy}
%\pagestyle{headings}
\title{VIM --- кратко обо всём.}
\date{\today}
\author{Роман Савоченко\\rom\_as@diyaorg.dp.ua}

\catcode`_=13

\begin{document}



{\setlength{\parskip}{0pt}\maketitle\tableofcontents}
%\footnotesize
\newpage
 
\section{Опции командной строки}
\begin{tabbing}
-t main \hspace{2em} \=- Открытие файла и позиционирование курсора на функции main;\\
\quad(используется файл tags сформированый командой ctags);\\
\end{tabbing}

\section{VIM файлы}
\begin{tabbing}
~/.vimrc \hspace{6em} \=- Локальный файл конфигурации;\\
vimrc_example.vim \&gt;- Пример конфигурационного файла;\\
/usr/share/vim/vim61/ \&gt;- VIM каталог;\\
\end{tabbing}

\section{Структура команд}
\textbf{[N][команда][объект][N1][команда перемещения]\\}
\begin{tabbing}
где: \hspace{6em} \=\\
\quad N \&gt;- Количество повторений команды;\\
\quad N1 \&gt;- Количество повторений команды перемещения;\\
\end{tabbing}


\section{Команды}

\subsection{Перемещение по тексту}
\begin{tabbing}
h, left \hspace{3em} \=- влево;\\
l, right \&gt;- вправо;\\
j, down  \&gt;- вниз;\\
k, up    \&gt;- вверх;\\
0, home  \&gt;- в начало строки;\\
\verb+\^+ \&gt;- первый нечерный символ в строке;\\
\verb+$, end+ \&gt;- в конец строки;\\
\verb+[N]|+ \&gt;- на [N] столбец;\\
\verb+[N]_+ \&gt;- вниз на [N]-1 строк и на первый не пустой символ;\\
\verb+[N]%+ \&gt;- на [N] процент от всего буфера;\\
\verb+[N]G, :[N]+ \&gt;- переход на строку &lt;N&gt;, 0G - BOF, \$G - EOF;\\
g        \&gt;- Перемещение по тексту. Объекты:\\
\quad 0, home \&gt;- на левый край экрана;\\
\quad \verb+^+ \&gt;- на первый непустой символ;\\
\quad m       \&gt;- на половину ширины экрана;\\
\quad \verb+$, end+ \&gt;- на  правый край экрана;\\
\quad k, up   \&gt;- на одну строку экрана вверх;\\
\quad j, down \&gt;- на одну строку экрана вниз;\\
\quad g       \&gt;- на первую строку;\\
\quad o       \&gt;- на [N] байт в буфере;\\
\quad e       \&gt;- назад до конца слова;\\
\quad E       \&gt;- назад до конца слова (от пробела до пробела);\\
f[simb] \&gt;- на первый найденный справа от курсора символ [simb];\\
F[simb] \&gt;- на первый найденный слева от курсора символ [simb];\\
t[simb] \&gt;- перед первым найденный справа от курсора символ [simb];\\
T[simb] \&gt;- перед первым найденным слева от курсора символом [simb];\\
;       \&gt;- повторить последнюю команду F,f,T,t в право;\\
,       \&gt;- повторить последнюю команду F,f,T,t в лево;\\
-       \&gt;- На строку вверх и на первый не пустой символ;\\
+, Enter \&gt;- На строку вниз и на первый не пустой символ;\\
\verb-G, ^+End- \&gt;- На последнюю строку;\\
H        \&gt;- На первую строку экрана;\\
M        \&gt;- На среднюю строку экрана;\\
L        \&gt;- На последнюю строку экрана;\\
w, Sh+Right \&gt;- На слово вперед;\\
\verb-W, ^+Right-  \&gt;- На слово вперед (от пробела до пробела);\\
e,       \&gt;- Вперед до конца слова;\\
E,       \&gt;- Вперед до конца слова (от пробела до пробела);\\
b, Sh+Left \&gt;- На слово назад;\\
\verb-B, ^+Left-  \&gt;- На слово назад (от пробела до пробела);\\
\verb+(+ \&gt;- На предложение назад (до точки);\\
\verb+)+ \&gt;- На предложение вперед (до точки);\\
\verb+{+ \&gt;- На абзац назад (до пустой строки);\\
\verb+}+ \&gt;- На абзац вперед (до пустой строки);\\
\verb+[[+ \&gt;- вперед на одну секцию или до \{ в начале строки;\\
\verb+][+ \&gt;- вперед на одну секцию или до \} в начале строки;\\
\verb+]]+ \&gt;- назад на одну секцию или до \{ в начале строки;\\
\verb+[]+ \&gt;- назад на одну секцию или до \} в начале строки;\\
\verb+^G+ \&gt;- информация о текущем положении курсора в тексте;\\
\verb+^]+ \&gt;- Переход по ссылке или на определение функции;\\
\verb+^T+ \&gt;- Возврат после перехода по ссылке;\\
\verb+^O+ \&gt;- Назад по списку переходов;\\
\verb+^I+ \&gt;- Вперёд по списку переходов;\\
\end{tabbing}

\subsection{Прокрутка экрана}
\begin{tabbing}
\verb-^+E- \hspace{3em} \=- вниз на одну строку;\\
\verb-^+D- \&gt;- вниз на scroll строк. если использовать цифру то далее она будет по умолчанию;\\
\verb-^+F, PgDwn- \&gt;- вниз на одну страницу;\\
\verb-^+Y-      \&gt;- вверх на одну строку;\\
\verb-^+U-      \&gt;- вверх на scroll строк. если использовать цифру то далее она будет по умолчанию;\\
\verb-^+B, PgUp- \&gt;- вверх на одну страницу;\\
zEnter   \&gt;- прокрутка вверх, пока курсор не окажеться на первой строке;\\
zt       \&gt;- тоже, но курсор остаёться в той-же строке;\\
z[N]Enter \&gt;- Изменить размер окна до [N] строк;\\
z.       \&gt;- прокрутка помещающая строку с курсором в центре экрана;\\
zz       \&gt;- тоже, но курсор остается в томже столбце;\\
z-       \&gt;- прокрутка вниз, пока курсор не окажется в на последней строке;\\
zb       \&gt;- тоже, но курсор остаётся в том же столбце;\\
zl       \&gt;- на один символ влево;\\
zh       \&gt;- на один символ вправо;\\
zL       \&gt;- на полуширину экрана влево;\\
zH       \&gt;- на полуширину экрана вправо;\\
zs       \&gt;- помещает курсор на левый край;\\
ze       \&gt;- помещает курсор на правый край;\\
\end{tabbing}

\subsection{Смена режимов}
\begin{tabbing}
Ins, i, a \=- переход в режим вставки;\\
v    \&gt;- визуальный строчный режим (с точностью до символа);\\
V    \&gt;- визуальный строчный режим (с точностью до символа);\\
\verb+^V+ \&gt;- визуальный блочный режим;\\
gv   \&gt;- возврат к области, выделенной в прошлый раз;\\
:    \&gt;- коммандный режим;\\
r    \&gt;- переход в режим замены;\\
gR   \&gt;- переход в виртуальный режим замены;\\
ESC  \&gt;- возвратrв нормальный режим;\\
\end{tabbing}

\subsection{Работа с файлами}
\begin{tabbing}
:q  \qquad \=- выход если не сохранен сохранениях;\\
:q!  \&gt;- закрыть окно без сохранения;\\
:qa! \&gt;- выход из всех открытых файлов без сохранения;\\
:x   \&gt;- --//--\\
:wqa \&gt;- выход из всех файлов с сохранением;\\
:w   \&gt;- запись в файл;\\
:w!  \&gt;- запись в файл даже если он только для чтения;\\
:wq[!] \&gt;- сохраненить и выйти;\\
:r   \&gt;- загрузить файл в позицию курсора;\\
:e [++opt] [+cmd] [&lt;file&gt;] - Открыть новый файл заместив старый (без имени файла перечитывает текущий);\\
     \&gt; Доступные опции [++opt]:\\
     \&gt; \quad enc - перекодировка (++enc=cp866);\\
     \&gt; \quad ff  - Формат файла (++ff=unix);\\ 
     \&gt; Доступные команды [+cmd]:\\
     \&gt; \quad +   - Начать с конца файла;\\
     \&gt; \quad +&lt;num&gt; - Начать с указанной линии;\\
     \&gt; \quad +/&lt;pat&gt; - Начать с первой линии в которой встречается &lt;pat&gt;;\\
:e! [++opt] [+cmd] [&lt;file&gt;] - Открыть новый файл заместив старый игнорируя все изменения (без имени файла\\
     \&gt; перечитывает текущий);\\
:e \#[count] - Открыть файл под номером &lt;count&gt; из :files;\\
:sp  \&gt;- Открыть в новом окне;\\
gf, [f \&gt;- Редактировать файл под курсором;\\
:file  \&gt;- Перечень ранее открываемых файлов;\\
\end{tabbing}

\subsection{Редактирование}
\begin{tabbing}
x, del \hspace{4em} \=- удаление символа под курсором;\\
X       \&gt;- удалить символ перед курсором;\\
u,:u    \&gt;- откат;\\
U       \&gt;- отменить все изменения, повлиявшие на текущую строку;\\
\verb+[reg]^R,:red+ \&gt;- накат, вставка из регистра;\\
С       \&gt;- удалить от курсора и до конца строки с переходом в режим ввода;\\
c       \&gt;- изменение, удаление и ввод нового;\\
\quad l \&gt;- символ, аналог s;\\
\quad c \&gt;- строку, аналог S;\\
\quad [N]o \&gt;- удаление по команде перемещения "o" [N] раз;\\
D       \&gt;- удалить от текущего символа до конца строки;\\
\verb+[reg]d+  \&gt;- Вырезать часть строки в регистр [reg]. Объекты:\\
\quad l \&gt;- аналог x;\\
\quad h \&gt;- аналог X;\\
\quad d \&gt;- текущей строки;\\
\quad w \&gt;- до конца слова;\\
\quad \$ \&gt;- до конца строки;\\
\quad [N]o \&gt;- удаление по команде перемещения "o" [N] раз;\\
o,O     \&gt;- Вставка новой строки до и после текущей с переходом в режим вставки;\\
J       \&gt;- объеденить строку с последующей;\\
r[симв] \&gt;- заменить символ под курсором на [симв];\\
gr[симв]\&gt;- заменить виртуальный символ под курсором на [симв];\\
gJ      \&gt;- тоже, но не вставляя новых пробелов;\\
\verb+[reg]y[com]+ \&gt;- копирование в регистр [reg("a)] строк через которые перенесет команда [com];\\
\verb+[reg]yy,Y+   \&gt;- копирование в регистр [reg("a)] текущую строку;\\
\verb+[reg]p+      \&gt;- вставка текста из регистра [reg("a)] после курсора;\\
P,MidMouse \&gt;- вставка текста из регистра перед курсором;\\
gp      \&gt;- Тоже что и p, но курсор в конец вставленного текста;\\
gP      \&gt;- Тоже что и P, но курсор в конец вставленного текста;\\
\verb+]p+      \&gt;- Тоже что и p, но дополнительно модифицируеться отступ вставляемого текста аналогично\\
        \&gt; отступу текущей строки;\\
\verb+]P+      \&gt;- Тоже что и P, но дополнительно модифицируеться отступ вставляемого текста аналогично\\
        \&gt; отступу текущей строки;\\
.       \&gt;- Повторение предыдущей команды изменившей буфер;\\
\verb+g~,~[com]+ \&gt;- изменение регистра букв на участке текста через которй перенесет команда [com];\\
\verb+g~~+       \&gt;- Изменение регисра букв в текущей строке;\\
\verb+gu[com]+   \&gt;- превращение букв в строчные на участке текста переноса команды [com];\\
guu     \&gt;- превращение в строчные буквы в текущей строке;\\
gU      \&gt;- превращение букв в прописные;\\
gUU     \&gt;- превращение в прописные буквы в текущей строке;\\
\verb+g?[com]+ \&gt;- перекодировка по алгоритму rot13 на участке текста переноса команды [com];\\
g??     \&gt;- перекодировка по алгоритму rot13 в текущей строке;\\
\verb+[N]^A+   \&gt;- добавить число N к числу в позиции курсора;\\
\verb+[N]^X+   \&gt;- вычесть число N к числу в позиции курсора;\\
!       \&gt;- обработка внешней программой;\\
=       \&gt;- растоновка отступов для С;\\
\verb+&lt;[com]+  \&gt;- сдвиг влево на значение shiftwidth строки, через которые перенесла бы команда[com];\\
&lt;&lt;      \&gt;- сдвиг влево текущей строки;\\
\verb+&gt;[com]+  \&gt;- сдвиг вправо на значение shiftwidth строки, через которые перенесла бы команда[com];\\
&gt;&gt;      \&gt;- сдвиг вправо текущей строки;\\
\end{tabbing}

\subsection{Поиск}
\begin{tabbing}
\verb+/{str}[/[off]]+ \hspace{3em} \=- Переход вперд на смещение &lt;off&gt; искомой строки &lt;str&gt;;\\
\verb+?{str}[?[off]]+ \&gt;- Переход назад на смещение &lt;off&gt; искомой строки &lt;str&gt;;\\
/              \&gt;- Повторить последний поиск в прямом направлении;\\
?              \&gt;- Повторить последний поиск в обратном направлении;\\
n              \&gt;- Повторить последний поиск;\\
N              \&gt;- Повторить последний поиск в обратном направлении;\\
\verb+*+       \&gt;- Поиск в прямом направлении идентификатора под курсором;\\
\#             \&gt;- Поиск в обратном направлении идентификатора под курсором;\\
gd             \&gt;- Перейти к локальному определению переменной под курсором;\\
gD             \&gt;- Перейти к глобальному определению переменной под курсором;\\
\verb+:/[serch]+ \&gt;- Поиск [serch] в прямом порядке.\\
\verb+:?[serch]+ \&gt;- Поиск [serch] в обратном порядке.\\
\verb+:[adress]s/[serch]/[repl]/[gci]+ - Поиск [serch] и замена на [repl].\\
               \&gt; (в режиме VISUAL без адреса - в выделеной областе)\\
\quad [gci]:   \&gt; \\
\qquad &lt; &gt; \&gt;- первого вхождения;\\
\qquad &lt;g&gt; \&gt;- всё;\\
\qquad &lt;c&gt; \&gt;- с запросом подтверждения;\\
\qquad &lt;i&gt; \&gt;- игнорируя регистр;\\
\quad [adress]: \&gt;\\
\qquad \verb+&lt;%&gt;+ \&gt;- весь текст;\\
\qquad &lt;1&gt; \&gt;- первая строка;\\
\qquad &lt;.&gt; \&gt;- текущая строка;\\
\qquad &lt;\$&gt; \&gt;- последняя строка;\\
\qquad &lt;1,3&gt; \&gt;- между строками 1-3;\\
\qquad &lt;.,\$&gt; \&gt;- от текущей до последней;\\
\end{tabbing}

\subsection{Манипуляции с окнами}

\begin{tabbing}
\verb+^W+ \\
\quad \= i,d,f \qquad \=- Новое окно с i-переменой, d-определением, f-файлом под курсором;\\
\&gt;  n     \&gt;- Открыть новое окно;\\
\&gt;  s     \&gt;- Сдублировать еще одно окно от текущего (горизонтально);\\
\&gt;  v     \&gt;- Сдублировать еще одно окно от текущего (вертикально);\\
\&gt;  с,q   \&gt;- Закрыть текущее окно;\\
\&gt;  o     \&gt;- Закрыть все остальные окна;\\
\&gt;  r     \&gt;- Сдвиг вверх;\\
\&gt;  R     \&gt;- Сдвиг вниз;\\
\&gt;  x     \&gt;- Сдвиг на другое окно с активизацией другого окна;\\
\&gt;  K     \&gt;- Переместить текущее окно вверх;\\
\&gt;  J     \&gt;- Переместить текущее окно вниз;\\
\&gt;  H     \&gt;- Переместить текущее окно влево;\\
\&gt;  L     \&gt;- Переместить текущее окно вправо;\\
\&gt;  k,Up  \&gt;- Активизировать окно сверху;\\
\&gt;  j,Down\&gt;- Активизировать окно снизу;\\
\&gt;  h,Left\&gt;- Активизировать окно слева;\\
\&gt;  l,Right\&gt;- Активизировать окно справа;\\
\&gt;  w     \&gt;- Активизировать следующее окно;\\
\&gt;  p     \&gt;- Активизировать предыдущее окно;\\
\&gt;  +     \&gt;- Увеличить высоту окна на одну строку;\\
\&gt;  -     \&gt;- Уменьшить высоту окна на одну строку;\\
\&gt;  &gt;     \&gt;- Увеличить ширину окна на один символ;\\
\&gt;  &lt;     \&gt;- Уменьшить ширину окна на один символ;\\
\&gt;  =     \&gt;- Сровнять размеры окон;\\
\&gt;  _     \&gt;- Установить максимальную высоту окна;\\
\&gt;  1_    \&gt;- Установить минимальную высоту окна;\\
\&gt;  |     \&gt;- Установить максимальную ширину окна;\\
\&gt;  1|    \&gt;- Установить минимальную ширину окна;\\
:sp \qquad \=- Разделить окно по горизонтале;\\
:vs       \&gt;- Разделить окно по вертикале;\\
:new      \&gt;- Создать новое окно (горизонтальное разделение);\\
:vne      \&gt;- Создать новое окно (вертикальное разделение);\\
\end{tabbing}

\subsection{Метки}

\begin{tabbing}
m[M] \hspace{4em} \=- установить метку [M] в поз;\\
&gt;&gt;      \&gt;- сдвиг вправо текущей строкиции курсора;\\
m", m'  \&gt;- установить метку предыдущего контекста;\\
:[N]ma, [N]k M \&gt;- установить метку [M] на строке [N];\\
'M      \&gt;- перемещение в начало строки с меткой [M];\\
`M      \&gt;- перемещение на метку [M];\\
\verb+'[+      \&gt;- первый непустой символ в первой строке части текста, над которой производилась последняя\\
               \&gt; операция;\\
\verb+"[+      \&gt;- первый символ части текста, над которой производилась последняя операция;\\
\verb+']+      \&gt;- первый непустой символ в последней строке части текста, над которой производилась последняя\\
               \&gt; операция;\\
\verb+"]+      \&gt;- последний символ части текста, над которой производилась последняя операция;\\
:marks  \&gt;- показать список меток;\\
:marks ABC.. \&gt;- показать метки ABC..;\\
\verb+%+       \&gt;- переходит на противоположную скобку: ()[]{}....;\\
\verb+[(+      \&gt;- переход к предыдущей незакрытой (;\\
\verb+[{+      \&gt;- переход к предыдущей незакрытой \verb+{+;\\
\verb+[)+      \&gt;- переход к следующей неоткрытой (;\\
\verb+[}+      \&gt;- переход к следующей неоткрытой \verb+}+;\\
\verb+]m+      \&gt;- переход к следующему началу метода (Java);\\
\verb+]M+      \&gt;- переход к следующему концу метода (Java);\\
\verb+[m+      \&gt;- переход к предыдущему началу метода (Java);\\
\verb+[M+      \&gt;- переход к предыдущему концу метода (Java);\\
\verb+[#+      \&gt;- переход на предыдущий незакрытый \#if или \#else;\\
\verb+]#+      \&gt;- переход на следующий неоткрытый \#else или \#endif;\\
\verb+[*, [/+  \&gt;- переход на предыдущее начало С-коментария /*;\\
\verb+]*, ]/+  \&gt;- переход на следующий конец С-коментария */;\\
\end{tabbing}

\subsection{Регистры}

\begin{tabbing}
\verb+""+ \hspace{4em} \=- Безымянный регистр, используется по умолчанию;\\
"0      \&gt;- Содержит текст прочитанный последней командой 'y';\\
"1-"9   \&gt;- сдвиговые регистры удаленого, измененого текста;\\
\verb+"-+     \&gt;- заполняется при удаление текста, занимающего менее одной строки;\\
"a-"z   \&gt;- именованые регистры, заполняются только при указании их специально;\\
".      \&gt;- Последний вставленный текст;\\
"\%     \&gt;- Содержит имя редактируемого файла;\\
"\#     \&gt;- Содержит имя альтернативного файла;\\
":      \&gt;- Последняя команда в режиме ':';\\
\verb+"=+      \&gt;- Ввод выражений;\\
"*      \&gt;- Хранит в себе выбраный мышью текст (X-Window);\\
"/      \&gt;- Регистр последнего поиска;\\
:reg [reg] \&gt;- Печать содержимого регистров;\\
q[reg]  \&gt;- Ввод регистра [reg] до нажатия q;\\
@[reg]  \&gt;- Выполнения команд в регистре [reg];\\
\end{tabbing}

\subsection{Настройки}
\begin{tabbing}
:set \hspace{4em} \=- Работа с опциями:\\
          \&gt;- Показать установленные опции;\\
\quad all \&gt;- Показать все опции;\\
\quad termcap \&gt;- Показать только терминальные опции;\\
\quad &lt;opt&gt;  \&gt;- Активирует опцию если она логическая;\\
\quad &lt;opt&gt;! \&gt;- Инвертирует опцию;\\
\quad &lt;opt&gt;\&amp; \&gt;- Устанавливает стандартное значение опции;\\
\quad no&lt;opt&gt; \&gt;- Диактивирует опцию;\\
\quad &lt;opt&gt;=&lt;value&gt; - Установка значения опции в &lt;value&gt;;\\
\quad &lt;opt&gt;? \&gt;- Показать значение опции;\\
:options \&gt;- Установка различных опций;\\
\end{tabbing}

\subsection{Опции}
\begin{tabbing}
 ai  \hspace{4em} \=- При начале новой строки отступ копируется с предыдущей;\\
 aw        \&gt;- Сохраняет содержимое файла, если он был изменен перед выполнением некоторых команд;\\
 bk        \&gt;- Создает резервную копию файла при перезаписи;\\
 bkc       \&gt;- Определяет метод создание резервной копии: &lt;yes&gt; - копирует существующий файл и\\
           \&gt; перезаписывает старый; &lt;no&gt; - переименовывает существующий файл и создает новый,\\
           \&gt; &lt;auto&gt; - выбирает наиболее оптимальный вариант.\\
 bin       \&gt;- Эту опцию необходимо установить перед попыткой редактирования бинарных файлов.\\
 dict      \&gt;- Список файлов, разделенных запятыми. По этим файла происходит поиск при авто-завершении\\
           \&gt; ключевых слов (&lt;CTRL&gt;-X + &lt;CTRL&gt;-K).\\
 dy        \&gt;- Изменяет способ отображение текста.\\
 ef        \&gt;- Имя файла с ошибками в режиме быстрой отладки.\\
 efm       \&gt;- Описание формата строки файла с ошибками, записанное в стиле scanf.\\
 fenc=&lt;code&gt; - Перекодировать файл в кодировку &lt;code&gt; (set fenc=koi8-r);\\
 ff=&lt;format&gt; - Изменить формат файла на &lt;format&gt; (se ff=unix);\\
 fcl       \&gt;- Если равно "all", то группировки автоматически закрываются, когда курсор выходит за их пределы;\\
 fdm       \&gt;- Определяет метод группировки для текущего окна.\\
 ic        \&gt;- игнорировать регистр при поиске;\\ 
 mef       \&gt;- Имя файла ошибок, возникших при выполнении команды :make.\\
 mouse=a   \&gt;- включить мышь в X или GUI;\\
 mp        \&gt;- Программа, используемая при выполнении команды :make.\\
 ml        \&gt;- Включает непосредственное включение строки конфигурации в редактируемый файл.\\
 number    \&gt;- Показывать номера строк.\\
 scrollbind\&gt;- Установить совместную прокрутку содержимого окон.\\
 sbr       \&gt;- Символы, которыми обозначаются автоматически перенесенные строки.\\
 sm        \&gt;- Если установлено, то при вводе закрывающей скобки происходит быстрая подсветка соответствующей ей\\
 sw        \&gt;- Число пробелов, используемых при автоотступе.\\
           \&gt; открывающей скобки.\\
 ts        \&gt;- Размер табуляции.\\
 tw        \&gt;- Максимальное число символов, которые могут быть введены в одну строчку.\\
 tsr       \&gt;- Список файлов, по которым осуществляется поиск словарных статей. (&lt;CTRL&gt;+X + &lt;CTRL&gt;+T).\\
 ul        \&gt;- Максимальное число изменений, которые могут быть отменены.\\
 ve        \&gt;- Включает автоматическое заполнение пробелами/табуляторами при навигации по тексту.\\ 
 vb        \&gt;- Заменить звуковой сигнал визуальным.\\
 wrap      \&gt;- заворачивани строк длинее ширины экрана;\\
 wb        \&gt;- При перезаписи файла, создается его временная копия;\\
\end{tabbing}

\subsection{Команды интегрирования}
\begin{tabbing}
:help com \hspace{2em} \=- Получение помощи по команде &lt;com&gt;. \^D - Выводит список команд. Префиксы команд:\\
\quad (nothing) \&gt;- Нормальная команда;\\
\quad v_   \&gt;- Визуальная команда;\\
\quad i_   \&gt;- Вставочная команда;\\
\quad :    \&gt;- Коммандной строки комманда;\\
\quad с_   \&gt;- Коммандной строки редактирование;\\
\quad -    \&gt;- Коммандные аргументы;\\
:! com   \&gt;- Запускает в оболочке команду &lt;com&gt;;\\
:!!      \&gt;- Повторяет предыдущую команду :! ;\\
:r! com  \&gt;- Вставить с позиции курсора выхлоп команды &lt;com&gt;;\\
:r file  \&gt;- Вставляет в текст содержимое файла file;\\
\end{tabbing}

\subsection{Группировка текста}
\begin{tabbing}
:mkview \hspace{3em} \=- Создание/сохранение группировок файла.\\
:loadview \&gt; Загрузка группировок файла.\\
zf        \&gt; Создать группировку выделенного участка (маркер группировки).\\
zfap      \&gt; ---//--- параграфа.\\
zd        \&gt; Удалить группировку.\\
zE        \&gt; Удалить все группировки.\\
zo        \&gt; Открыть текущую группировку.\\
zO        \&gt; Открыть текущую группировку рекурсивно.\\
zr        \&gt; Открыть все группировки.\\
zc        \&gt; Скрыть/закрыть текущую группировку.\\
zС        \&gt; Скрыть/закрыть текущую группировку рекурсивно.\\
zM        \&gt; Скрыть/закрыть все группировки.\\
\end{tabbing}

\subsection{Компиляция/отладка программ}
\begin{tabbing}
:make \hspace{3em} \=- Вызов команды make (сборка проекта);\\
:cc[numb] \&gt;- Отображение ошибки с указанным номером;\\
:cn       \&gt;- Перейти к следующей ошибке;\\
:cp       \&gt;- Перейти к предыдущей ошибке;\\
:cr       \&gt;- Перейти к первой ошибке;\\
:cla      \&gt;- Перейти к последней ошибке;\\
:cq       \&gt;- Выйти из программы с возвратом кода ошибки;\\
:cf [file]\&gt;- Загрузить указанный файл в качестве файла ошибок;\\
:cl       \&gt;- Отобразить все ошибки;\\
:copen    \&gt;- Открыть окно со списком ошибок;\\
:cclose   \&gt;- Закрыть окно со списком ошибок;\\
:cscope   \&gt;- ?????\\
\end{tabbing}

\subsection{Другое}
\begin{tabbing}
\verb+^p,^n+ \hspace{3em} \=- Дополнение слова используя в качестве словаря весь текст или дополнительные источники\\
        \&gt; (include файлы);\\
Sh+K    \&gt;- Вызов man по команде под курсором;\\
\verb+[i+      \&gt;- Показать определение (included) переменной, функций ...;\\
\verb+[d+      \&gt;- Показать определение (defined) МАКРО;\\
ga      \&gt;- Информация о символе под курсором;\\
g~,~[com] \&gt;- изменение регистра букв на участке текста через которй перенесет команда [com];\\
:buffer [N] \&gt;- перейти к буферу [N];\\
:print     \&gt;- Распечатать;\\
:iabbrev   \&gt;- Описание абревиатур (:iabbrev L\$ Linux);\\
\end{tabbing}

\subsection{Частые команды (желательно запомнить)}
\begin{tabbing}
[N]G \hspace{3em} \=- переход на строку &lt;N&gt;, 0G - BOF, \$G - EOF;\\
\%       \&gt;- переходит на противоположную скобку: ()[]{}....;\\
\verb+^]+ \&gt;- Переход по ссылке или на определение функции;\\
\verb+^T+ \&gt;- Возврат после перехода по ссылке;\\
\verb+^O+ \&gt;- Назад по списку переходов;\\
\verb+^I+ \&gt;- Вперёд по списку переходов;\\
u,:u     \&gt;- откат;\\
U        \&gt;- отменить все изменения, повлиявшие на текущую строку;\\
\verb+^R,:red+  \&gt;- накат;\\
.       \&gt;- Повторение предыдущей команды изменившей буфер;\\

m[M]     \&gt;- установить метку [M] в поз;\\
'M       \&gt;- перемещение в начало строки с меткой [M];\\
"M       \&gt;- перемещение на метку [M];\\

:copen   \&gt;- Показать окно ошибок (после вызова команды типа make);\\
\verb+^p,^n+ \&gt;- Дополнение слова используя в качестве словаря весь текст или дополнительные источники\\
         \&gt; (include файлы);\\
\verb+[i+ \&gt;- Показать определение переменной, функций ...;\\
\end{tabbing}



\end{document}
</pre></body></html>