инструменты
December 26, 2019

Инструменты разработчика: Vim

Та-дам! Открываем рубрику #инструменты. В этой рубрике будем рассказывать вам о софтинах и сервисах, которыми разработчики пользуются изо дня в день и без которых их труд превращается в Боль.

Так девушки реагируют на разработчика знающего начала Vim

А начнем мы с дедушки Vim`а. Каждый третий разработчик слышал шутку про то "Как выйти из Vim?", а в каждой шутке, как известно есть доля правды. К примеру, у вопроса "Как выйти из редактора Vi или Vim?" в русском сегменте stackowerflow более 72 тысяч просмотров, а у его заграничного аналога "How do I exit the Vim editor?" более 2 миллионов просмотров. Впечатляет.

Одна из моих любимых шуток звучит так: «Я уже два года пользуюсь Vim, в основном потому, что не знаю, как выйти из него». Спойлер: чтобы выйти из вима потребуется последовательно нажать Esc, потом :, q и Enter. В общем-то в виме все делается зубодробительными (для новичков) сочетаниями клавиш.

Дело в том, что Vim (Vi IMproved) - это редактор кода, который работает в консольном режиме. И здесь вы не найдете привычных по другим редакторам органов управления (пункта Exit в меню приложения или крестика в углу окна). Этот редактор устроен и работает по совсем иным принципам. Одним из ключевых понятий в вим являются режимы, которых аж три:

  • normal (собственно, управление и навигация),
  • insert (вставка и редактирование текста),
  • visual (выделение текста и операции с ним).

В каждом режиме редактор ведет себя по своему и это дает кучу преимуществ. Умелое использование этих особенностей и комбинирование режимов вызывает к жизни магию.

Vim умеет "из коробки" делать, то, что другие редакторы часто не способны сделать даже при помощи специально разработанных плагинов.

Приведем в пример несколько команд Vim в режиме normal:

dd — удалить строку, на которой находится курсор

5dd - удалить 5 строк

30i- - вставит в документ 30 знаков "-"

dw - удалит слово на котором сейчас находится курсор.

Это лишь базовые возможности. Vim - дико могущественная штуковина. И да, освоить Vim вовсе не просто, но практика творит чудеса. На картинке ниже приводится сравнение кривых освоения различных редакторов.

Сравнение кривых освоения различных редакторов

Ах, да: дорогу осилит идущий, а для тех, кто хочет попробовать vim на зубок и не застрять в редакторе на два года - советуем попробовать интерактивный учебник OpenVim или игру vim-adventures с управлением как в виме.

Удачи!

Материал готовил вим-аддиктед @ykponyc