Мои любимые VIM жесты движений (motions)

Привет, друзья. Я начал потихоньку изучать Vim. Пока я не использую его, как IDE (и возможно и не буду), но motions Вима я стараюсь использовать во всех редакторах, где есть их поддержка. Например, для IDEA есть плагин IdeaVim, который позволит, оставаясь в Идее, пользоваться жестами движений Вима. Это действительно может улучшить вашу производительность работы с текстом.

Видимо, у Vim сейчас новая волна хайпа, потому что про него говорят куча ютуберов, таких как ThePrimeagen. Кроме того, Neovim выглядит вполне как современный редактор, что опять популизирует Vim как таковой. Именно большой хайп вокруг этого заставил меня отвлечься от любимой IDEA и посмотреть на что-то новое для себя.

Сразу хочу сказать, что я не буду делать никаких уроков или туториалов по Вим. Я новичок в этой области, и уже написано миллион статей по этой теме. Тут я просто хочу вести свой личный обновляемый список команд, которыми я пользуюсь прямо сейчас, на моем текущем уровне развития. За основу я возьму страницу курса https://theprimeagen.github.io/vim-fundamentals/exercise-6.

Мои жесты движений в Vim

  1. h, j, k, l — базовые передвижения по редактору, вместо стрелок
  2. w — переход к первой букве следующего слова
  3. b — переход к первой букве предыдущего слова
  4. f + {char} — прыжок на символ {char} где-то справа от текущего символа в данной строке текста
  5. F + {char} — прыжок на символ {char} где-то слева от текущего символа в данной строке текста
  6. t + {char} — тоже самое что и f, но прыжок до символа {char}
  7. T + {char} — тоеж самое что и F, но прыжок после символа {char}
  8. ctrl + d, ctrl + u — прыжок на полстраницы вниз/вверх
  9. 0 — переход на начало строки
  10. _ — переход на первый не пробел в данной строке
  11. $ — переход в конец строки
  12. % — прыжок на открывающуюся/закрывающуюся скобку (, {, [, ], }, ) в данной строке
  13. v/d/c (выделить, удалить, удалить с insert) + i + (, {, [, ], }, ) — применить v/d/c действие к блоку кода, который находится внутри (inside) одной из скобок, скобки не включены
  14. v/d/c (выделить, удалить, удалить с insert) + a + (, {, [, ], }, ) — тоже самое, что и с i, но скобки включены.
  15. cit — удалить внутренности HTML тега, и перейти в Insert режим
  16. ci" — удалить содержимое внутри ковычек, и перейти в Insert режим
  17. gg — переход на первую строку текста
  18. G — переход на последнюю строку текста
  19. {Number} + G — переход на строку {Number}

Комбинации для действий

  1. d — удалить (выделенный текст, или текст по motions)
  2. dd — удалить строку
  3. c — как d, но с переходом в insert mode
  4. сс — как dd, но с переходом в insert mode
  5. C — удалить все от текущего символа (включая его) до конца строки с переходом в insert mode
  6. y — копировать
  7. yy — копировать строку
  8. p — вставить буффер вниз от данной строки
  9. P — вставить буффер вверх от данной строки
  10. o — начать новую строку в insert mode вниз от данной строки
  11. O — начать новую строку в insert mode вверх от данной строки
  12. v — переход в Visual mode. Полезная комбинация — v + i + { — выделить текущий блок между { и }.
  13. u — отменить предыдущую операцию
  14. ctrl + r — отменить отмену

Категории: Программирование