\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]+ \>- переход на строку , 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] [] - Открыть новый файл заместив старый (без имени файла перечитывает текущий);\\ \> Доступные опции [++opt]:\\ \> \quad enc - перекодировка (++enc=cp866);\\ \> \quad ff - Формат файла (++ff=unix);\\ \> Доступные команды [+cmd]:\\ \> \quad + - Начать с конца файла;\\ \> \quad + - Начать с указанной линии;\\ \> \quad +/ - Начать с первой линии в которой встречается ;\\ :e! [++opt] [+cmd] [] - Открыть новый файл заместив старый игнорируя все изменения (без имени файла\\ \> перечитывает текущий);\\ :e \#[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} \=- Переход вперд на смещение искомой строки ;\\ \verb+?{str}[?[off]]+ \>- Переход назад на смещение искомой строки ;\\ / \>- Повторить последний поиск в прямом направлении;\\ ? \>- Повторить последний поиск в обратном направлении;\\ n \>- Повторить последний поиск;\\ N \>- Повторить последний поиск в обратном направлении;\\ \verb+*+ \>- Поиск в прямом направлении идентификатора под курсором;\\ \# \>- Поиск в обратном направлении идентификатора под курсором;\\ gd \>- Перейти к локальному определению переменной под курсором;\\ gD \>- Перейти к глобальному определению переменной под курсором;\\ \verb+:/[serch]+ \>- Поиск [serch] в прямом порядке.\\ \verb+:?[serch]+ \>- Поиск [serch] в обратном порядке.\\ \verb+:[adress]s/[serch]/[repl]/[gci]+ - Поиск [serch] и замена на [repl].\\ \> (в режиме VISUAL без адреса - в выделеной областе)\\ \quad [gci]: \> \\ \qquad < > \>- первого вхождения;\\ \qquad \>- всё;\\ \qquad \>- с запросом подтверждения;\\ \qquad \>- игнорируя регистр;\\ \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 \>- Активирует опцию если она логическая;\\ \quad ! \>- Инвертирует опцию;\\ \quad \& \>- Устанавливает стандартное значение опции;\\ \quad no \>- Диактивирует опцию;\\ \quad = - Установка значения опции в ;\\ \quad ? \>- Показать значение опции;\\ :options \>- Установка различных опций;\\ \end{tabbing} \subsection{Опции} \begin{tabbing} ai \hspace{4em} \=- При начале новой строки отступ копируется с предыдущей;\\ aw \>- Сохраняет содержимое файла, если он был изменен перед выполнением некоторых команд;\\ bk \>- Создает резервную копию файла при перезаписи;\\ bkc \>- Определяет метод создание резервной копии: - копирует существующий файл и\\ \> перезаписывает старый; - переименовывает существующий файл и создает новый,\\ \> - выбирает наиболее оптимальный вариант.\\ bin \>- Эту опцию необходимо установить перед попыткой редактирования бинарных файлов.\\ dict \>- Список файлов, разделенных запятыми. По этим файла происходит поиск при авто-завершении\\ \> ключевых слов (-X + -K).\\ dy \>- Изменяет способ отображение текста.\\ ef \>- Имя файла с ошибками в режиме быстрой отладки.\\ efm \>- Описание формата строки файла с ошибками, записанное в стиле scanf.\\ fenc= - Перекодировать файл в кодировку (set fenc=koi8-r);\\ ff= - Изменить формат файла на (se ff=unix);\\ fcl \>- Если равно "all", то группировки автоматически закрываются, когда курсор выходит за их пределы;\\ fdm \>- Определяет метод группировки для текущего окна.\\ ic \>- игнорировать регистр при поиске;\\ mef \>- Имя файла ошибок, возникших при выполнении команды :make.\\ mouse=a \>- включить мышь в X или GUI;\\ mp \>- Программа, используемая при выполнении команды :make.\\ ml \>- Включает непосредственное включение строки конфигурации в редактируемый файл.\\ number \>- Показывать номера строк.\\ scrollbind\>- Установить совместную прокрутку содержимого окон.\\ sbr \>- Символы, которыми обозначаются автоматически перенесенные строки.\\ sm \>- Если установлено, то при вводе закрывающей скобки происходит быстрая подсветка соответствующей ей\\ sw \>- Число пробелов, используемых при автоотступе.\\ \> открывающей скобки.\\ ts \>- Размер табуляции.\\ tw \>- Максимальное число символов, которые могут быть введены в одну строчку.\\ tsr \>- Список файлов, по которым осуществляется поиск словарных статей. (+X + +T).\\ ul \>- Максимальное число изменений, которые могут быть отменены.\\ ve \>- Включает автоматическое заполнение пробелами/табуляторами при навигации по тексту.\\ vb \>- Заменить звуковой сигнал визуальным.\\ wrap \>- заворачивани строк длинее ширины экрана;\\ wb \>- При перезаписи файла, создается его временная копия;\\ \end{tabbing} \subsection{Команды интегрирования} \begin{tabbing} :help com \hspace{2em} \=- Получение помощи по команде . \^D - Выводит список команд. Префиксы команд:\\ \quad (nothing) \>- Нормальная команда;\\ \quad v_ \>- Визуальная команда;\\ \quad i_ \>- Вставочная команда;\\ \quad : \>- Коммандной строки комманда;\\ \quad с_ \>- Коммандной строки редактирование;\\ \quad - \>- Коммандные аргументы;\\ :! com \>- Запускает в оболочке команду ;\\ :!! \>- Повторяет предыдущую команду :! ;\\ :r! 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} \=- переход на строку , 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}