Еще одна шпаргалка

VIM
VIM содержит сотни команд, выучить их все невозможно, да и по правде говоря «зазубривание» — дело неблагодарное. Читая различные факи и туториалы я взял за правило заносить новые для меня команды в отдельный файл, сопровождая их кратким описанием. В процессе работы с редактором я часто заглядываю в этот файл и с течением времени многие команды из него пополняют мой стандартный набор. Своим файлом-шпаргалкой я и хочу с вами поделиться.

Описания команд максимально лаконичны, часто в ущерб точности. Подробную информацию о команде можно посмотреть в документации (:help cmd). Дополнения приветствуются.

Поиск

* — поиск слова под курсором. Как и при любом другом поиске n и N позволяют перемещаться между совпадениями.
# — то же самое, но в обратном направлении.
gd — переход к локальному объявлению. Переходит к первому упоминанию слова под курсором в пределах функции, игнорируя комментарии.
gD — переход к глобальному объявлению. Аналогично gd, за исключением того, что ищется первое упоминание в пределах файла.
[[ — переход к началу функции.

Замена

%s/foo/bar/c — замена с подтверждением.
perldo s/foo/bar/g — perl регулярные выражения.

Перемещение

fx — переместить курсор на первый символ x в текущей строке.
tx — установить курсор перед символом x.
Fx, Tx — в обратном направлении.
; — повторить последнее перемещение.
`. — перейти к последней редактируемой строке.
`` — перейти к последней активной строке.
% — перейти к парной скобке.

Разное

= — в визуальном режиме форматирует выделенный текст.
]p — вставка с учетом отступов.
ga — отобразить код символа под курсором в статусной строке.
xp — поменять соседние буквы местами.
J — слияние двух соседних строк.
u — в визуальном режиме переводит выделенный фрагмент в нижний регистр.
U — в верхний.
!sort — в визуальном режиме сортирует выделенный фрагмент. Подобным образом можно применить любую внешнюю команду.
di{ — удалить текст внутри активных фигурных скобок. Работает для любых других скобок и кавычек (спасибо bbbb).
da{ — то же самое вместе со скобками (спасибо paul).

В завершение альтернатива стандартной замене с подтверждением, которой я часто пользуюсь: * или / — поиск кандидата на замену, cw — удаление слова, ввод нового слова, n — переход к следующему совпадению, . — повторение предыдущей команды (замена слова).
Tags:vimшпаргалкакоманды
Hubs: VIM
+46
12.8k 141
Comments 41

Popular right now

Junior Clojure Developer
from 70,000 to 150,000 ₽Health SamuraiСанкт-ПетербургRemote job
Java Developer (GoLand)
from 200,000 ₽JetBrainsСанкт-Петербург
Project Manager
from 70,000 ₽Fora SoftСанкт-Петербург
Проект-менеджер / Project manager
from 50,000 ₽KAD SystemsБелгородRemote job