\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 \>- Пример конфигурационного файла;\\
/usr/share/vim/vim61/ \>- VIM каталог;\\
\end{tabbing}

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


\section{Команды}

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

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

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

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

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

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

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

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

\subsection{Метки}

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

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

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

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

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

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

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

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

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

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

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

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



\end{document}