Как я перестал бояться и полюбил Vim

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Я работаю программистом уже почти десять лет. И, как и для каждого, кто посвящает работе до 2/3 суток, удобный инструментарий имеет для меня огромное значение. Сегодня я хочу как следует порефлексировать, поэтому статья выйдет слегка необычной. Сразу же хочу дать дисклеймер: всё, что вы прочтете ниже, носит субъективный характер. Поэтому будьте открыты и снисходительны.

Приблизительно 2010 год — Notepad и все-все-все

Делая первые шаги в Java, я писал код в Notepad++. Да-да, я был тогда молод и простительно невежествен. Тогда я понятия не имел, что такое редактор кода. Мне казалось, что это просто Notepad с дополнительными кнопками.

Основное внимание я уделял изучению программирования, а DX (Development Experience) отошел на второй план. Единственно интригующим было то, что я мог запускать код с помощью плагина, нажимая на функциональную клавишу. Это давало большое преимущество по сравнению с работой в Notepad и командной строке Windows.

Ключевые моменты

  • Хорошо, когда можно писать и выполнять код в одном и том же месте.

Два года спустя — Eclipse

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

Интернет был тогда невелик, поэтому я часто копался в оффлайновой документации, пытаясь разобраться в проблеме. Временами это было крайне нудно и утомительно, но другого выхода я не видел. И вот впервые я задумался о том, что Eclipse ведет себя вовсе не так, как моя предыдущая программа. Я еще не знал слова IDE. Мне хватало того, что Java работает на трех миллиардах устройств, и я должен хорошо в нем разбираться.

Ключевые моменты

  • Очень хорошо, если ваша программа может самостоятельно позаботиться о конфигурации.

  • Еще лучше, если программа подскажет, что писать дальше.

2014 — Знакомство с Linux и VI

Big dog = Linux. Says, “I also run on a piece of break from last week.” Small dog = Windows 11. Says, “Your CPU is not of the latest generation. Please click here for more information.”

Я купил себе новый синий ноутбук. На наклейке надпись: «Ubuntu». Что это за штуковина? Где мой DVD-диск с пиратской Windows и ключом активации, написанным на обратной стороне? Я сходил в школьную библиотеку, и, Боже, обнаруженная там книга по Unix вызвала у меня радостный трепет. Тогда я решил с концами пересесть на Linux (и, спойлер, больше так и не касался Windows).

Однако я не понимал, почему чудаки из интернета постоянно пишут, что редактировать конфигурационные файлы нужно с помощью какого-то VI. Кому охота открывать терминал, добираться в нем до искомого файла и запускать этот жуткий vi, из которого даже выйти невозможно?

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

Ключевые моменты

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

  • Все разработчики обязаны пользоваться Linux. Никаких исключений. (Личное мнение: я считаю macOS также дистрибутивом Linux).

2017 — Возвышенное (Sublime) искусство кодить

Bernie Sanders meme. Me: hits ctrl + s twice Sublime text: I am once again asking for your financial support

И вот все стало налаживаться. Я определился с выбором профессии веб-разработчика. Часто писал небольшие утилитарные приложения. И в очередной раз книжка, которую я читал, подсказала мне, что Sublime Text — это моя новая среда разработки. Круто, я в деле!

Есть в нем кое-что, что близко моему сердцу. Это возможность гибко настраивать редактор при помощи JSON-файлов. Я провел целую неделю, подправляя что-то в файле настроек. Это было почти волшебством — скопировать JSON-файл на USB-накопитель и сделать компьютер приятеля похожим на мой.

В конце концов «моя» версия Sublime стала выглядеть как совсем другое приложение. По сей день я остаюсь убежденным фанатом райсинга (модный термин, обозначающий тонкую настройку ПО под себя). И да, мне, как и пользователям WinRar, совершенно начхать на постоянные поп-апы Sublime с просьбой купить его.

Ключевые моменты

  • Sublime очень хорош для своего пула задач.

  • Единственная причина, по которой он «провалился», — это идеологическое сходство с VS Code, у которого есть корпоративная поддержка и прекрасное сообщество. Разработчики потихоньку перебрались из Sublime на VS Code, а, как известно, никто не разрабатывает плагины для программ, которыми лично не пользуется. И опять же Vim — он и рядом не стоит с Sublime и его мощным графическим интерфейсом, однако сообщество упорно поддерживает его десятилетиями..

2019 — Взлет VS Code

When people ask me to recommend a text editor: short sword = VI. long sword = Visual Studio Code

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

В тот момент потеря папки с конфигами Sublime внушала больше опасений, чем пропажа самого ноутбука. Шучу, тогда я уже знал git. Но в офисе требовалось работать сугубо в VS Code, поэтому еще месяц я потратил на его настройку.

В конце концов, я сам изумился тому, какое чудище Франкенштейна у меня получилось. Мой VS Code выглядел как Sublime, работал как Sublime, а запускался дольше и тяжелее, чем старый-добрый Eclipse. Хуже всего было то, что senior ругался последними словами всякий раз, когда пытался отлаживаться на моей машине. Типичная проблема хакера, ничего удивительного.

Мне чертовски нравится экосистема расширений VS Code. Можно сидеть в редакторе и чувствовать, что под его капотом редактора что-то большое и умное. В нем было то, чего мне не хватило в Sublime. По сей день VS Code остается моим любимым инструментом для написания кода. Если что-то можно запрограммировать, то это обязательно будет происходить в VS Code. Мне он кажется современной версией emacs.

На собственном опыте я ощутил разницу между языками строгой и динамической типизации. В те дни я работал с Ruby on Rails, а динамически типизированные языки — это кошмар любого редактора. Убейте, но я ненавижу Ruby, Python, JavaScript и т.д., несмотря на то, что ежедневно пишу на них по естественным причинам. Иногда я даже прихожу поскулить и поскрестись под двери JetBrains.

Ключевые моменты

  • У VS Code была концепция универсального редактора. И сообществу удалось претворить ее в жизнь.

  • Ядро VS Code — жесткое и продуманное, а поверх него можно делать всё, что душе угодно.

  • Его благословение оборачивается и его проклятием. Поскольку каждый может легко и быстро написать расширение (а зачастую «легко и быстро» превращается в «тяп-ляп, вот вам плагин»), VS Code зачастую безосновательно упрекают в тяжести и медлительности.

2021 — Стремление к совершенству

Что такое ОКР, спросите вы? Это состояние, когда ты слишком строго относишься к тому, как все должно быть устроено. Возможно, кому-то это покажется скорее достоинством: мол, вау, это же круто, но по факту это история про «А-а-а! Края стола не параллельны краям ноутбука, паника!».

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

Мне нравится, когда обе среды, как снаружи, так и внутри ноутбука, выглядят предельно минималистично. Посмотрите на скриншоты в конце статьи. Там даже иконок «скрыть-развернуть-закрыть» нет. Тюнинг всего, от расстояния между буквами в шрифтах до паддингов во всплывающих окнах, волнует меня не по-детски. Мне доставляет огромное удовлетворение заниматься подобными вещами, и если поискать в Гугле «Unix ricing», вы поймете, о чем я.

Однако в последнее время у меня стало болеть запястье из-за постоянных прыжков с букв на стрелки курсора. Работа по 80 часов в неделю имеет свои «плюсы».

Источник: https://habr.com/ru/companies/ispsystem/articles/770234/


Интересные статьи

Интересные статьи

Логотип OpenAI в главном офисе, 2020 год, источник Лаборатория OpenAI образована 11 декабря 2015 года как некоммерческая организация, которая должна работать на благо всего человечества. Абсолютно ...
Вы, может быть, не заметили, но с телевизорами в последнее время творится что-то неладное.Лет тридцать назад телевизор был почти предметом роскоши. И не только в странах бывшего СССР. Даже в Америке о...
Например, очевидные (не для всех) и правильные вопросы:Если я не успеваю сделать задачу, мне сразу говорить или пытаться ночью все доделать?У кого спросить, нормально я справляюсь или меня скоро уволя...
Всему виной автоматически устанавливаемое обновление встроенного антивируса.В журнале регистрируется сообщение FIPFS 5300The FIP-FS "Microsoft" Scan Engine failed to load. PID: 24608, Error Code: 0x80...
Мои ленты в социальных сетях выглядят довольно специфично: большинство «друзей» — либо айтишники, либо менеджеры В2В-сферы. Так вот, последние 2 недели я не вижу посты от любимых и рабочих сообще...