Инструменты разработчика: 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