malikov.tech

Очередная попытка осилить vim (часть 2)

Cover Image for Очередная попытка осилить vim (часть 2)

Если помните, то некоторое время назад я вдохновился снова попробовать осилить vim, но не просто умением сменить режим, сохранить и выйти, а чуть-чуть более осознанно. В итоге я прожил неделю работая только в нём. И честно говоря, мне понравилось. Но есть ложка дёгтя.

Прежде чем что-то тут писать о недостатках, нюансах и достоинствах, надо бы определиться, а нафига оно мне было надо и какие цели я преследовал? Иначе выйдет очередной однобокий пост, который можно развалить любой полярной позицией. Из серии - у меня такая же нога и не болит.

Мне было интересно:

  • ♿️ Понять насколько vim like навигация эффективнее стандартной схемы редактирования текста
  • 🛅 Насколько редактор можно напичкать плагинами, что бы он мог заменить IDE и где граница этой замены
  • 🛃 Разобраться с реальным потреблением ресурсов
  • 🈳 Понять чуть лучше философию и возможности редактора

Дисклеймер: Я знаю, что для комфортной работы в vim нужно уметь быстро и в слепую писать всеми десятью пальцами. Я понимаю, что раскладка клавиш современных клавиатур (особенно макбука) не сильно подходит из коробки. Мне известно о том, что кривая входа в изучение шоткатов занимает много месяцев. Конечно, я также понимаю, что полноценной IDE vim стать не сможет.

Ну теперь к моим ощущениям от недели в vim.

  • 1️⃣ Мне зашло редактирование текста! Настолько, что в моей основной ide появился vim плагин. Режимы - это очень клевая штука. Шоткаты для навигации по тексту тоже топ, сейчас я пока понимаю, что забываю и не помню всего что прочёл, но со временем удобство и скорость точно будет выше, чем в связке тачпад + клавиатура в классическом режиме работы.
  • 2️⃣ Плюс кажется, что даже при неудобной (пока?) раскладке клавиш запястьям будет чуть комфортнее, чем постоянно тянуться большими пальцами к тачпаду.
  • 3️⃣ Философия наставь всего что тебе понадобится и будет счастье - это прям linux way. Наверное сидя на условной gentoo и обладая вагоном свободного времени можно тратить десятки часов на настройку плагинов, что бы он работал очень функционально.
  • 4️⃣ Про маленькое потребление памяти конечно чудес тут нет. Да, он потребляет кратно меньше java монстра от JB, но не копейки. И тоже может и тормозить и лагать с подсветкой и в целом много плагинов на скорость и аккуратность потребления памяти влияют ни разу не положительно. Моя "крайняя" сборка на этой неделе, которая в целом была комфортна для работы с go и react кодом, заняла в памяти 700мб. (учитывая все обвязки и терминал) При этом тот же проект в JB занимал ровно в два раза больше. Учитывая разницу в функционале и скорости настройки, а также отсутствия у меня проблемы с ресурсами - этот аргумент работает не столь эффектно.
  • 5️⃣ Про возможности. На самом деле для рядового пользователя и для простого кодинга функционала достаточно. Что-то может нужно докрутить и подсобрать, но прям "без рук" себя не ощущаешь. Дьявол же таится в деталях и знании, что бывает иначе. Отладка, рефакторинг, автоматизированные всякие запуски тестов и прочие радости-сладости глубокого умения работы с JB комбайнами, конечно, никогда тут не появятся. И тут вопрос, как часто оно вам надо? Мне вот частенько.

На этом в общем-то я для себя тему именно vim закрыл. Как редактор локальный он мне в общем-то не сильно нужен. (А вот как терминальный еще посмотрим). Есть sublime и JB. Они оба полностью перекрывают его возможности и даже больше. Как замена IDE для меня не подходит, да и нет объективных причин зачем. Понимаю, что если будет нужно работать с какой-то экзотикой и LSP будет только как vim плагин - это решение и хорошее, но это не мой случай. История про экономию ресурсов и скорость, честно говоря, больше преувеличена, чем является правдой. Опять таки вероятно для тех у кого крайне слабое железо - это выход.

В сухом остатке я выявил для себя некоторое кол-во молоточков для консольной работы, впечатлился vim like подходом к редактированию и навигации по тексту. А в остальном мучать дальше именно vim (neovim) не планирую. Неосилил 😜