Некоторое время назад один из участников 💬Вороньего чата поинтересовался:
Всем шалом, немного поздновато увидел Ваш тред на предмет Vim. Честно говоря прочёл по Vim что писалось, плюс погуглил, и всё таки не понял почему условно на него так “дрочат”. Полноценный IDE из него не сделаешь, как удалённый редактор кода на машинах ну мб, и то мне кажется условно. А так для простых смертных задач и nano по факту хватает. Хотя почитав про LazyVim да выглядит интересно, но опять же а смысл? Тоже самое можно и в нано сделать, единственный плюс который я вижу это автодополнение кода, но мб я просто не проникся идеями которые предоставляет Vim \ LazyVim.
PS - для меня он всегда выглядел как немного странный редактор конфигов, с лёгкими нотками БДСМ.
В этой лирической заметке я опишу свои мысли на счёт того, чем так привлекателен многим айтишникам (в т.ч. мне) данный консольный редактор.
Если вы впервые слышите, что это за редактор или хотели бы познакомиться с ним поближе, то рекомендую мою вводную статью:
Так почему же?
Ну, смотрите, я сейчас выскажу своё мнение и видение, почему на него, как вы выразились, так “дрочат” и расскажу про своё отношение.
Прежде чем начать, отмечу: каждый волен выбирать любой удобный ему инструмент. Будь то nano, micro или даже простое перенаправление стандартного вывода через cat или echo.
🖐️Эй!
Подписывайтесь на наш телеграм @r4ven_me📱, чтобы не пропустить новые публикации на сайте😉. А если есть вопросы или желание пообщаться по тематике — заглядывайте в Вороний чат @r4ven_me_chat🧐.
Для простоты под словом “редактор” я буду иметь в виду все vi/vim/neovim.
1. Исторический аспект

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

Например, навигация: hjkl, поиск: /, переход в начало файла - gg, в конец - G, выделение - v, копирование - y, вставка - p, командный режим - :
Всё это позволяет работать с текстом с высокой скоростью, не отрывая рук от клавиатуры.
3. Стандартизация и унификация

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

vim хотя бы на базовом уровне, всегда сможешь эффективно редактировать файлы в любом Linuxе.
5. Возможности кастомизации

vim создавался программистами для программистов, его возможности настройки очень и очень широки. Для его конфигурирования был создан специальный язык vim script, позволяющий написать конфиг, идеально подходящую под свои хотелки. Если говорить про Neovim - то там используется lua и возможности кастомизации улетают в космос.
Этот редактор вобрал в себя множество продуманных практик. Как говорится, всё уже придумано до нас методом проб и ошибок. Остаётся только научиться этим пользоваться🤷♂️
6. Об элитарности

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

Личное мнение: почему он нравится мне
Вот как выглядит мой Neovim (в lua конфиге) на данный момент:

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

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

Немного про nano
Редактор nano неспроста так называется - в нём нет и процента того, что умеет vim в базовой комплектации. Но ведь он и не позиционируется как замена vim‘у. Это просто еще один инструмент, который хорошо выполняет свою задачу. Я им также периодически пользуюсь.
Дополнение из чата
Комментарий участника: Алексей Островерхов
Вот раскладка клавиатуры Терминала ADM-3a, для которого и разрабатывался vi.


Обратите внимание, что клавиш для управления курсором нет, но стрелки нарисованы как раз над hjkl, клавиши esc и control находятся на другом месте, для : есть отдельная клавиша, поэтому не нужно жать shift чтобы набрать команду и кнопка home объединена с ~ поэтому этот символ и стал применяться для обозначения домашнего каталога


