Почему многие IT специалисты так любят Vim?
Приветствую!

Некоторое время назад один из участников 💬Вороньего чата поинтересовался:

Всем шалом, немного поздновато увидел Ваш тред на предмет Vim. Честно говоря прочёл по Vim что писалось, плюс погуглил, и всё таки не понял почему условно на него так “дрочат”. Полноценный IDE из него не сделаешь, как удалённый редактор кода на машинах ну мб, и то мне кажется условно. А так для простых смертных задач и nano по факту хватает. Хотя почитав про LazyVim да выглядит интересно, но опять же а смысл? Тоже самое можно и в нано сделать, единственный плюс который я вижу это автодополнение кода, но мб я просто не проникся идеями которые предоставляет Vim \ LazyVim.

PS - для меня он всегда выглядел как немного странный редактор конфигов, с лёгкими нотками БДСМ.

В этой лирической заметке я опишу свои мысли на счёт того, чем так привлекателен многим айтишникам (в т.ч. мне) данный консольный редактор.

Если вы впервые слышите, что это за редактор или хотели бы познакомиться с ним поближе, то рекомендую мою вводную статью:

Так почему же?

Ну, смотрите, я сейчас выскажу своё мнение и видение, почему на него, как вы выразились, так “дрочат” и расскажу про своё отношение.

Прежде чем начать, отмечу: каждый волен выбирать любой удобный ему инструмент. Будь то nano, micro или даже простое перенаправление стандартного вывода через cat или echo.

Для простоты под словом “редактор” я буду иметь в виду все vi/vim/neovim.

1. Исторический аспект

У этого редактора - долгая и богатая история. Он создавался и эволюционировал в ту эпоху, когда мышь как явление ещё не существовало. Для многих админов и разработчиков того времени это был основной инструмент работы.

2. Биомеханика и эффективность

Из этого вытекает его ключевое преимущество: редактор был “заточен” под управление исключительно с клавиатуры. Его разрабатывали с учётом биомеханики, стремясь к максимально эффективному использованию сочетаний клавиш при положении рук в базовой позиции.

Например, навигация: hjkl, поиск: /, переход в начало файла - gg, в конец - G, выделение - v, копирование - y, вставка - p, командный режим - :

Всё это позволяет работать с текстом с высокой скоростью, не отрывая рук от клавиатуры.

3. Стандартизация и унификация

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

Со временем, благодаря своей “технической простоте” и гибкости vim стал повсеместно распространяться, что в итоге сформировало некий международный стандарт. Вы наверняка замечали, что многие утилиты (например, less, man или тот же git) поддерживают vi-like клавиши.

4. Повсеместная распространённость

Несмотря на то, что редактору уже более 50 лет, он до сих пор установлен на подавляющем большинстве серверов. Отсюда напрашивается простой вывод: если умеешь работать в vim хотя бы на базовом уровне, всегда сможешь эффективно редактировать файлы в любом Linuxе.

5. Возможности кастомизации

Поскольку vim создавался программистами для программистов, его возможности настройки очень и очень широки. Для его конфигурирования был создан специальный язык vim script, позволяющий написать конфиг, идеально подходящую под свои хотелки. Если говорить про Neovim - то там используется lua и возможности кастомизации улетают в космос.

Этот редактор вобрал в себя множество продуманных практик. Как говорится, всё уже придумано до нас методом проб и ошибок. Остаётся только научиться этим пользоваться🤷‍♂️

6. Об элитарности

И да, здесь есть некий элемент элитарности. Это довольно распространённое явление в мире Linux и в целом IT. Данный факт сложно отрицать. Многим пользователям хочется быть приобщённым к чему-то “таинственному”, неведомому большинству. Привет, масоны и иллюминаты! Это щекочит их самолюбие😁

Если подобное чувство “особенности” помогает вам эффективно изучать и использовать различные технологии - пожалуйста, вперёд. Но кричать об этом на каждом углу, мол “я не такой, как все” - это удел ограниченных личностей. К сожалению, в нашем сообществе таких персонажей достаточно много.

Личное мнение: почему он нравится мне

Вот как выглядит мой Neovimlua конфиге) на данный момент:

Какое-то время я и сам думал, что vim - для каких-то рептилоидов (почти как про bash сначала думал). В консоли я предпочитал редактор micro - отличный, к слову, редактор. Однако, поборов предубеждения и разобравшись глубже в теме, я понял, что никогда так сильно не ошибался. В итоге стал настоящим адептом vim/neovim (как, впрочем, и bash), хоть и изучил его всего на несколько процентов)

Сейчас в качестве основного редактора для кода, конфигов и скриптов я использую Neovim. Установил и настроил под себя все необходимые для удобной работы инструменты и плагины, а также тему оформления. В итоге я получил крутой, функциональный и красивый инструмент, полностью адаптированный под мои предпочтения. Я почти не менял базовые сочетания клавиш, а лишь немного добавлял новых. Так как я работаю в нём регулярно, мышечная память, наработанная для основных операций, работает в любом vim на любом сервере. И мне это очень сильно помогает в работе.

Немного про nano

Редактор nano неспроста так называется - в нём нет и процента того, что умеет vim в базовой комплектации. Но ведь он и не позиционируется как замена vim‘у. Это просто еще один инструмент, который хорошо выполняет свою задачу. Я им также периодически пользуюсь.

Дополнение из чата

Авторские права

Автор: Иван Чёрный

Ссылка: https://r4ven.me/lyrics/pochemu-mnogie-it-specialisty-tak-lyubyat-vim/

Лицензия: CC BY-NC-SA 4.0

Использование материалов блога разрешается при условии: указания авторства/источника, некоммерческого использования и сохранения лицензии.

Начать поиск

Введите ключевые слова для поиска статей

↑↓
ESC
⌘K Горячая клавиша