Это первая часть серии статей о том, как приступить к работе с текстовым редактором Vim. Часть 2 и далее будут в основном сосредоточены на настройке и повышении удобства работы с Vim по мере продвижения по пути. Эта часть с хитрым названием «Часть 1» представляет собой просто введение в удивительный мир Vim.

Помню, когда я только начинал учиться программировать.

Я был на буткемпе по Ruby под названием Maker’s Academy. Мои мнения и горячие взгляды на этот опыт могли бы заполнить множество постов в блоге сами по себе, но в целом: положительные, потому что, несмотря ни на что, я здесь, я могу программировать. Но одно воспоминание из этого курса, которое застряло у меня на 5 лет (и это число продолжает расти), связано только с кодированием. Это было, когда инструктор начал редактировать текст в терминале.

Как хорошие мальчики и девочки, перед началом курса мы все выполнили двухнедельную разминку: набор заданий, который означал, что мы готовы начать полет в первый же день. Немного познакомьтесь с git и GitHub, поэкспериментируйте с некоторыми структурами данных Ruby… но прежде всего скачайте текстовый редактор.

В то время нас как бы подталкивали к тексту Atom или Sublime. VS Code был где-то рядом, но не в легком свободном состоянии, как сейчас. Так что, по сути, у всех нас был Atom. Это был аккуратный набор. Я постепенно привык располагать код слева, а тесты справа, и очень гордился тем, что могу быстро переключаться между ними! Конечно, обычно вам все равно приходилось хвататься за мышь, потому что маловероятно, что курсор находился точно в нужном месте, когда он добрался до соседнего файла. Но все равно было очень круто.

Запись-скретч, вернуться к этому инструктору. Он что-то демонстрировал, не помню что, но какой-то студент прислал какой-то код, и он запускал его в терминале. Вы знаете, ruby fizzbuzz.rb или что-то в этом роде. И это не работало. Я предположил, что он отправился в Atom, чтобы проверить, где что-то пошло не так.

Первая встреча

Но нет. Преподаватель не нажимал Cmd-tab на Atom. Вместо этого он что-то напечатал: vim fizzbuzz.rb.

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

После сеанса я подошел и спросил его, что происходит. Как то, что я увидел, стало возможным? К этому моменту он довольно хорошо меня знал и сказал следующие слова: «Это называется Vim. Честно говоря, Пол, я не думаю, что ты настолько мазохист, чтобы изучать Vim.

Может быть, он не знал меня настолько хорошо.

Я не думаю, что вам нужно быть мазохистом, чтобы изучать Vim. Я думаю, вы должны быть решительны, находить радость в почти бесконечных настройках и быть в состоянии получать удовлетворение от ледяного, но постоянного улучшения. Короче говоря, вы должны действительно хотеть научиться этому.

Никогда не слышали о Виме? Три ссылки, которые могут помочь

Я не буду здесь слишком много говорить о процессе «начала работы» с Vim. Это описано во многих, многих других местах. Короче говоря, три вещи очень помогли:

  • Изучайте VIM во время игры — VIM Adventures Не делайте этого слишком часто. Просто пройти бесплатные уровни. Это хорошо, потому что это разогревает вашу мышечную память и знакомит с концепциями, но на самом деле, если вы действительно не реагируете на то, что вас учат в игровой форме, вам следует перейти к примерам из реального мира, например:
  • Vim Tutor Это встроенный инструмент обучения Vim. Если у вас установлен Vim, просто введите vimtutor в терминал, и все готово. Это здорово, сделать все это дважды.
  • Некоторое время используйте Vim для всего. Электронная почта, документы, списки дел, любые заметки и, конечно же, кодирование. Просто поживите в нем пару недель. У меня был файл скретч.txt, в котором я практически все делал. Это долгий и трудный процесс, но я обещаю, что примерно через месяц (может быть, два) вы возненавидите редактировать текст во всем, что нет иметь привязки клавиш vim. Я могу почти гарантировать это.

Вот и все для этого краткого введения. Во второй части (и далее) я собираюсь немного больше узнать о том, как работает Vim; он будет нацелен на продвинутого новичка. Итак, накачайте свою hjkl мышечную память, и увидимся в следующий раз.