unix:vim-commands
Содержание
Команды
Перемещение по тексту
- mv-text.txt
h, left -- Влево. l, right -- Вправо. j, down -- Вниз. k, up -- Вверх. 0, home -- В начало строки. ^ -- Первый непустой символ в строке. $, end -- В конец строки. [N]| -- На <N> столбец. [N]_ -- Вниз на <N>-1 строк и на первый не пустой символ. [N]% -- На <N> процентов от всего буфера. [N]G, :[N] -- Переход на строку <N> (0G - BOF, $G - EOF). g -- Перемещение по тексту. Объекты: 0, home -- на левый край экрана; ^ -- на первый непустой символ; m -- на половину ширины экрана; $, end -- на правый край экрана; k, up -- на одну строку экрана вверх; j, down -- на одну строку экрана вниз; g -- на первую строку; o -- на [N] байт в буфере; e -- назад до конца слова; E -- назад до конца слова (от пробела до пробела). f[simb] -- На первый найденный справа от курсора символ [simb]. F[simb] -- На первый найденный слева от курсора символ [simb]. t[simb] -- Перед первым найденный справа от курсора символ [simb]. T[simb] -- Перед первым найденным слева от курсора символом [simb]. ; -- Повторить последнюю команду F,f,T,t в том же направлении. , -- Повторить последнюю команду F,f,T,t в противоположном направлении. - -- На строку вверх и на первый не пустой символ. +, Enter -- На строку вниз и на первый не пустой символ. G, ^+End -- На последнюю строку. H -- На первую строку экрана. M -- На среднюю строку экрана. L -- На последнюю строку экрана. w, Sh+Right -- На слово вперед. W, ^+Right -- На слово вперед (от пробела до пробела). e -- Вперед до конца слова. E -- Вперед до конца слова (от пробела до пробела). b, Sh+Left -- На слово назад. B, ^+Left -- На слово назад (от пробела до пробела). ( -- На предложение назад (до точки). ) -- На предложение вперед (до точки). { -- На абзац назад (до пустой строки). } -- На абзац вперед (до пустой строки). [[ -- Вперед на одну секцию или до { в начале строки. ][ -- Вперед на одну секцию или до } в начале строки. ]] -- Назад на одну секцию или до { в начале строки. [] -- Назад на одну секцию или до } в начале строки. ^G, :file -- Информация о текущем положении курсора в тексте. ^] -- Переход по ссылке или на определение функции. ^T -- Возврат после перехода по ссылке. ^O -- Назад по списку переходов. ^I, Tab -- Вперёд по списку переходов. :ju -- Список переходов.
Прокрутка экрана
- scroll-screen.txt
^+E -- Вниз на одну строку. ^+D -- Вниз на scroll строк. если использовать цифру то далее она будет по умолчанию. ^+F, PgDwn -- Вниз на одну страницу. ^+Y -- Вверх на одну строку. ^+U -- Вверх на scroll строк. если использовать цифру то далее она будет по умолчанию. ^+B, PgUp -- Вверх на одну страницу. zEnter -- Прокрутка вверх, пока курсор не окажется на первой строке. zt -- Тоже, но курсор остаётся в той-же строке. z[N]Enter -- Изменить размер окна до <N> строк. z. -- Прокрутка помещающая строку с курсором в центре экрана. zz -- Тоже, но курсор остается в том же столбце. z- -- Прокрутка вниз, пока курсор не окажется в на последней строке. zb -- Тоже, но курсор остаётся в том же столбце. zl -- На один символ влево. zh -- На один символ вправо. zL -- На полуширину экрана влево. zH -- На полуширину экрана вправо. zs -- Помещает курсор на левый край. ze -- Помещает курсор на правый край.
Смена режимов
- ch-mode.txt
Ins, i, a -- Переход в режим вставки. v -- Визуальный строчный режим (с точностью до символа). V -- Визуальный строчный режим (с точностью до строки). ^V -- Визуальный блочный режим. gv -- Возврат к области, выделенной в прошлый раз. : -- Командный режим. r -- Переход в режим замены. gR -- Переход в виртуальный режим замены. ESC -- Возврат в нормальный режим.
Работа с файлами
- files.txt
:q -- Выход (если не требует сохранения). :q! -- Закрыть окно без сохранения. :qa! -- Выход из всех открытых файлов без сохранения. :x -- Выход из всех открытых файлов без сохранения. :wqa -- Выход из всех файлов с сохранением. :w -- Запись в файл. :w! -- Запись в файл даже если он только для чтения. :wq[!] -- Сохранить и выйти. ZZ -- Сохранить и выйти. :r -- Загрузить файл в позицию курсора. :e [++opt] [+cmd] [<file>] -- Открыть новый файл заместив старый (без имени файла - перечитывает текущий). Доступные опции [++opt]: enc -- перекодировка (++enc=cp866); ff -- формат файла (++ff=unix). Доступные команды [+cmd]: + -- начать с конца файла; +<num> -- начать с указанной строки; +/<pat> -- начать с первой строки в которой встречается шаблон <pat>. :e! [++opt] [+cmd] [<file>] -- Открыть новый файл заместив старый и игнорируя все изменения -(без имени файла - перечитывает текущий). :e #[count] -- Открыть файл под номером <count> из :files. :sp -- Открыть в новом окне. gf, [f -- Редактировать файл под курсором.
Редактирование
- edit.txt
x, del -- Удаление символа под курсором. X -- Удаление символа перед курсором. u, :u -- Откат. U -- Отменить все изменения, повлиявшие на текущую строку. [reg]^R, :red -- Накат, вставка из регистра. С -- Удалить от курсора и до конца строки с переходом в режим ввода. c -- Изменение, удаление и ввод нового. l -- символ, аналог s; c -- строку, аналог S; [N]o -- удаление по команде перемещения "o" [N] раз. D -- Удалить от текущего символа до конца строки. [reg]d -- Вырезать часть строки в регистр [reg]. Объекты: l -- аналог x; h -- аналог X; d -- текущей строки; w -- до конца слова; $ -- до конца строки; [N]o -- удаление по команде перемещения "o" [N] раз. O, o -- Вставка новой строки до и после текущей, с переходом в режим вставки. J -- Объединить строку с последующей. r[симв] -- Заменить символ под курсором на [симв]. gr[симв] -- Заменить виртуальный символ под курсором на [симв]. gJ -- Тоже, но не вставляя новых пробелов. [reg]y[com] -- Копирование в регистр [reg(<<a)] строк через которые перенесет команда [com]. [reg]yy, Y -- Копирование в регистр [reg(<<a)] текущую строку. [reg]p -- Вставка текста из регистра [reg(<<a)] после курсора. P, MidMouse -- Вставка текста из регистра перед курсором. gp -- Тоже что и p, но курсор помещается в конец вставленного текста. gP -- Тоже что и P, но курсор в конец вставленного текста. ]p -- Тоже что и p, но дополнительно изменяется отступ вставляемого текста, аналогично отступу текущей строки. ]P -- Тоже что и P, но дополнительно изменяется отступ вставляемого текста, аналогично отступу текущей строки. . -- Повторение предыдущей команды изменившей буфер. g~, ~ [com] -- Изменение регистра букв на участке текста, через который перенесёт команда [com]. g~ ~ -- Изменение регистра букв в текущей строке. gu[com] -- Превращение букв в строчные на участке текста переноса команды [com]. guu -- Превращение в строчные буквы в текущей строке. gU -- Превращение букв в прописные. gUU -- Превращение в прописные буквы в текущей строке. //g?[com] -- Перекодировка по алгоритму rot13 на участке текста переноса команды [com]. g?? -- Перекодировка по алгоритму rot13 в текущей строке. [N]^A -- Добавить число <N> к числу в позиции курсора. [N]^X -- Вычесть число <N> от числа в позиции курсора. ! -- Обработка внешней программой. = -- Расстановка отступов для языка программирования С. <[com] -- Сдвиг влево на значение (shiftwidth) строк, через которые перенесла бы команда[com]. << -- Сдвиг влево текущей строки. >[com] -- Сдвиг вправо на значение (shiftwidth) строк, через которые перенесла бы команда[com]. >> -- Сдвиг вправо текущей строки.
Поиск
- find.txt
/{str}[/[off]] -- Переход вперёд на смещение <off> искомой строки <str>. ?{str}[?[off]] -- Переход назад на смещение <off> искомой строки <str>. / -- Повторить последний поиск в прямом направлении. ? -- Повторить последний поиск в обратном направлении. n -- Повторить последний поиск. N -- Повторить последний поиск в обратном направлении. * -- Поиск в прямом направлении идентификатора под курсором. # -- Поиск в обратном направлении идентификатора под курсором. gd -- Перейти к локальному определению переменной под курсором. gD -- Перейти к глобальному определению переменной под курсором. :/[search] -- Поиск <search> в прямом порядке. :?[search] -- Поиск <search> в обратном порядке. :[address]s/[search]/[repl]/[gci] -- Поиск [search] и замена на [repl] (в режиме VISUAL - без адреса и в выделенной области) [gci]: < > -- первого вхождения; <g> -- всё; <c> -- с запросом подтверждения; <i> -- игнорируя регистр. [address]: <%> -- весь текст; <1> -- первая строка; <.> -- текущая строка; <$> -- последняя строка; <1,3> -- между строками 1-3; <.,$> -- от текущей до последней.
Манипуляции с окнами
- wnd.txt
^W -- Операции с окнами: i, d, f -- новое окно с 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 -- Разделить окно по горизонтали. :vs -- Разделить окно по вертикали. :new -- Создать новое окно (горизонтальное разделение). :vne -- Создать новое окно (вертикальное разделение).
Метки
- tags.txt
m[M] -- Установить метку <M> в позицию курсора. m>>, m' -- Установить метку предыдущего контекста. :[N]ma, [N]k M -- Установить метку <M> на строке <N>. 'M -- Перемещение в начало строки с меткой <M>. `M -- Перемещение на метку <M>. '[ -- Первый непустой символ в первой строке части текста, над которой производилась последняя операция. "[ -- Первый символ части текста, над которой производилась последняя операция. '] -- Первый непустой символ в последней строке части текста, над которой производилась последняя операция. "] -- Последний символ части текста, над которой производилась последняя операция. :marks -- Показать список меток. :marks ABC.. -- Показать метки ABC.. . % -- Переход на противоположную скобку: ()[].... . [( -- Переход к предыдущей незакрытой ( . [{ -- Переход к предыдущей незакрытой { . [) -- Переход к следующей не открытой ( . [} -- Переход к следующей не открытой } . ]m -- Переход к следующему началу метода (Java). ]M -- Переход к следующему концу метода (Java). [m -- Переход к предыдущему началу метода (Java). [M -- Переход к предыдущему концу метода (Java). [# -- Переход на предыдущий незакрытый #if или #else. ]# -- Переход на следующий неоткрытый #else или #endif. [*, [/ -- Переход на предыдущее начало С-комментария /*. ]*, ] / -- Переход на следующий конец С-комментария */.
Регистры
- reg.txt
"" -- Безымянный регистр (используется по умолчанию). <<0 -- Содержит текст прочитанный последней командой 'y'. "1->>9 -- Сдвиговые регистры удалённого и изменённого текста. <<- -- Заполняется при удаление текста, занимающего менее одной строки. "a->>z -- Именованные регистры, заполняются только при указании их специально. <<. -- Последний вставленный текст. "% -- Содержит имя редактируемого файла. "# -- Содержит имя альтернативного файла. <<: -- Последняя команда в режиме ':'. "= -- Ввод выражений. "* -- Хранит в себе выбранный мышью текст (X-Window). <</ -- Регистр последнего поиска. :reg [reg] -- Печать содержимого регистров. q[reg] -- Ввод регистра [reg] до нажатия q. @[reg] -- Выполнения команд в регистре [reg].
Настройки
- tuning.txt
:set -- Работа с опциями (без имени опции показывает установленные опции). all -- показать все опции; termcap -- показать только терминальные опции; <opt> -- активирует опцию если она логическая; <opt>! -- инвертирует опцию; <opt>& -- устанавливает стандартное значение опции; no<opt> -- деактивирует опцию; <opt>=<value> -- установка значения опции в <value>; <opt>? -- показать значение опции. :options -- Установка различных опций.
Опции
- options.txt
ai -- При начале новой строки отступ копируется из предыдущей. 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> (dos,unix,mac). 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 -- При перезаписи файла, создается его временная копия.
Команды интеграции
- integr.txt
:help com -- Получение помощи по команде <com>. Префиксы команд: <ничего> -- нормальная команда; v_ -- визуальная команда; i_ -- вставочная команда; : -- команда командной строки; с_ -- редактирование командной строки; - -- командные аргументы. :! com -- Запускает в оболочке команду <com>. :!! -- Повторяет предыдущую команду :! . :r! com -- Вставить в позицию курсора <<выхлоп>> команды <com>. :r file -- Вставляет в текст содержимое файла <file>.
Группировка текста
- txt-group.txt
:mkview -- Создание/сохранение группировок файла. :loadview -- Загрузка группировок файла. zf -- Создать группировку выделенного участка (маркер группировки). zfap -- Создать группировку параграфа (маркер группировки). zd -- Удалить группировку. zE -- Удалить все группировки. zo -- Открыть текущую группировку. zO -- Открыть текущую группировку рекурсивно. zr -- Открыть все группировки. zc -- Скрыть/закрыть текущую группировку. zС -- Скрыть/закрыть текущую группировку рекурсивно. zM -- Скрыть/закрыть все группировки.
Компиляция/отладка программ
- compil-dbg.txt
:make -- Вызов команды make (сборка проекта). :cc[numb] -- Отображение ошибки с указанным номером. :cn -- Перейти к следующей ошибке. :cp -- Перейти к предыдущей ошибке. :cr -- Перейти к первой ошибке. :cla -- Перейти к последней ошибке. :cq -- Выйти из программы с возвратом кода ошибки. :cf [file] -- Загрузить указанный файл в качестве файла ошибок. :cl -- Отобразить все ошибки. :copen -- Открыть окно со списком ошибок. :cclose -- Закрыть окно со списком ошибок. :cscope -- ?
Другое
- other.txt
^p, ^n -- Дополнение слова используя в качестве словаря весь текст или дополнительные источники (include файлы). Sh+K -- Вызов man по команде под курсором. [i -- Показать определение (included) переменной, функций ... . [d -- Показать определение (defined) МАКРО. ga -- Информация о символе под курсором. g ~ [com] -- Изменение регистра букв на участке текста, через который перенесет команда [com]. :ls -- Список буферов. :badd [file] -- Добавить файл в буфер. :bdelete [N] -- Выгрузить буфер. :buffer [N] -- Перейти к буферу [N]. :print -- Распечатать. :iabbrev -- Описание аббревиатур (:iabbrev L$ Linux).
Часто используемые команды (желательно запомнить)
- often.txt
[N]G -- Переход на строку <N>, 0G - BOF, $G - EOF. % -- Переходит на противоположную скобку: ()[].... . ^] -- Переход по ссылке или на определение функции. ^T -- Возврат после перехода по ссылке. ^O -- Назад по списку переходов. ^I -- Вперёд по списку переходов. u, :u -- Откат. U -- Отменить все изменения, повлиявшие на текущую строку. ^R,:red -- Накат. . -- Повторение предыдущей команды изменившей буфер. m[M] -- Установить метку <M> в текущую позицию. 'M -- Перемещение в начало строки с меткой <M>. `M -- Перемещение на метку <M>. :copen -- Показать окно ошибок (после вызова команды типа make). ^p, ^n -- Дополнение слова используя в качестве словаря весь текст или дополнительные источники (include файлы). [i -- Показать определение переменной, функций ...
unix/vim-commands.txt · Последнее изменение: 2024/05/02 13:20 — 127.0.0.1