Как стать автором
Обновить

Комментарии 18

Все описанные преимущества есть в любой IDE и редакторе от JetBrains до VScode, сколько статей не читал про neovim всегда выглядит как извращение, извините, так дойдем до DOS оболочки т.к она быстрее оказывается.

Я сначала перешёл с vscode на вим просто чтобы изучить что это такое и почему о нем так много шума

Через 6 месяцев решил попробовать вернуться обратно в vscode и чуть не вырвало в прямом смысле: мне приходилось перемещать фокус взгляда между 1) монитором, 2) клавой, и 3) мышкой. При этом когда брал мышку не всегда сразу находил где именно находится курсор. Через 15 минут такого извращения понял что хочу просто положить руки на клаву и не отрывать взгляд от монитора. Это был чистый кайф

А в vscode хоткеи отменили?
В нем же ведь только на хоткеях можно сидеть без мышки вообще, да и если хочется упороться, то можно и vim-like keybindings подкрутить или как удобно.

Без претензий лично к вам, но я каждый раз удивляюсь странным привычкам людей из крайности в крайность бегать. Если хотят только на клаве быть - то почему-то кроме vim-like нет вариантов, а если vscode - то будем жаловаться, что мышкой пользоваться неудобно, будто нет хоткеев вообще.

А перемещение фокуса это дело привычки одного дня. Сама по себе мышка не мешает слепой печати и позиционированию рук на клаве, и если привыкните, то вам еще больше зайдет.. Хотя есть одна проблема...поговаривают, что скорость печати снизится из-за таймлага при перемещении руки с мышки на клаву, это ж такое колоссальное время тратится впустую.

есть три вида хоткеев:
1) дерево файлов
2) окно где код пишем
3) терминал, который у меня открыт в vscode снизу окна с кодом

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

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

сейчас у меня terminator + vim, в терминаторе настроил переходы между окнами и табами, в виме настроил переходы между деревом и окном с кодом. при этом, если фокус держится на виме, то переход между окнами/табами в терминаторе корректно ловят хоткеи и переключаются. это надежно и очень удобно. работают как часы

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

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

А как же emacs?

Предварительно нам потребуется пакетный менеджер VimPlug.

Довольно странно ставить VimPlug на NeoVim, если все используют lazy.nvim. Тем более в следующей части статьи, посвящённой AtroNvim, уже используется lazy.

За основу возьмем готовый конфиг – AstroNvim

А в чём смысл готовые конфиги использовать? Самому настроить проще, чем в чужом конфиге разбираться. Плюс в чужом конфиге может быть то, что тебе вообще не нужно.

Установим LSP серверы для языков программирования, которыми мы
пользуемся в работе. LSP серверы нужны для всплывающего окна подсказок
во время написания кода.

Тут вопрос к читающим больше, у меня одного не получается нормально настроить LSP на NeoVim? Сколько раз не пытался, а работает через одно место (тормозит, перестаёт нормально работать: делать переход к определениям, подсвечивать ошибки и т.д.). При том, что тот же language server отлично дружит с emacs без особых танцев с бубном.

Так почему стоит потратить время и установить NeoVim?

На самом деле единственное преимущество у vim состоит в том, что он поддерживает большое количество языков, в т.ч. для которых нет IDE. Любая специализированная IDE должна быть мощнее, чем nvim с кучей плагинов. Я сам nvim использую, но это уже дело многолетней привычки, так-то я понимаю, что особых преимуществ нет.

Статью можно ужать до одной фразы - установи VimPlug и AstroNvim. На что немедленно следует классическое

Если хочешь узнать куда тебе идти, скажи что мне делать.

Выше реакция на подобную писанину. Не про номерочки строчечек нужно копипастить, а про то а) зачем Neovim здесь и сейчас и б) как сделать IDE, что в точности и всего лишь означает включить TreeSitter и клиент LSP. Всё остальное - мусор, заставляющий меня очень сомневаться что автор вообще с чем-то, особенно Neovim, реально работал.

Менеджер плагинов в Neovim необязателен - значит никакого менеджера пакетов. Если уж Neovim - значит никаких конфигов на скриптах, только Lua. И никаких готовых конфигов, статья начального уровня должна объяснять что куда положить и всё. Ещё раз для бестолковых - И ВСЁ. Чтобы потом заинтересовавшийся легче мог понять что вся это дрянь, менеджеры и конфиги, творит и значит.

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

Для оценки этой статьи у меня нет слов способных пройти модерацию. Helix forever.

Helix и правда forever. Модель verb-subject больше десятилетия вызывала у меня скрип мозга и сильно замедляла работу в vim. Helix с его subject-verb идеально ложится на мой рабочий мыслительный процесс. Жаль только сам инструмент достаточно сырой. Хотел бы я neovim использовать с моделью helix.

не читая статью, проматываю до комментариев:
1) зачем это надо, когда есть нормальные IDE
2) вы попробуйте emacs
3) ваш гайд говно, а таких уже тысячи

зачем это надо, когда есть нормальные IDE

гетерогенная среда - когда пишешь не в одном стеке. с++/js/haskell, с++ и js зачастую под разными платформами - mac, nix-ы и даже винда иногда - это мой обычный вечер. С удовольствием посмотрю на вылизанную IDE под FreeBSD. Просто народ с обоих сторон баррикад не понимает простой вещи - надо или не надо - это кому то а не всем сразу. Поэтому оба мнения имеют право на жизнь, никому ничего навязывать не надо.

Просто народ с обоих сторон баррикад не понимает простой вещи - надо или не надо - это кому то а не всем сразу.

Года идут, а война vim-like с IDE-like не утихает.
Пока одни насильно рекомендуют vim-like всем для абсолютно любых задач, аргументируя это а) невероятной экономией времени на таймлаге переключения с мышки на клаву, забывая про хоткеи в IDE, и б) перегруженностью IDE, делая при этом из vim тот же самый IDE, другие напрочь игнорируют просто еще один полезный инструмент, который может пригодиться в конкретных юзкейсах.
Ведь нельзя же пользоваться обоими инструментами, и применять их там, где это требуется, у нас тут такое не принято.

хоткеи слишком ограничены
они и близко не покрывают функционал команд, а если и сделать на каждую возможность хоткей, их все запомнить просто нереально
в то время как команды формируются из независимых частей, которых немного, и они проще для запоминания, чем пальце-ломательные комбинации с alt,ctrl,shift

Тут я не могу поспорить. Просто обычно vi-адепты распространяющие в массы не упоминают эту важную деталь, но почему-то зацикливаются то и дело на хоткеи так, будто их нет нигде, крому vi-*

это как раз одно из заблуждений о вим
в vim вообще хоткеи используются очень ограниченно, в основном в режиме редактирования, где вим работает как остальные редакторы
рассказывают о командах normal mode, но не знакомые с вим воспринимают их как хоткеи, аналогичные тем, что в других редакторах

аналог команд был в продуктах борланд(различные ctrl-k i), но до функциональности vim там тоже далеко, и они не удобны из за использования клавиш модификаторов

Ведь за это мы и любим коммьюнити Хабра?)

Отвечаю на заголовок: НИКАК!. Я, как пользователь NeoVim очень хорошо знаю, что такое его настройка, и что само понятие «удобства» индивидуальное. Самым удобным текстовым редактором NeoVim сделать невозможно, именно потому что сама его настройка это суть неудобства этого редактора. И не важно готовый конфиг используется, или с нуля его писать. В любом случает «удобства» в этом мало

sudo apt-get install neovim

там стоит допотопная 0.5.х версия, которую практически все забили поддержива. Многие плагины просят не меньше 0.7.х

Создайте резервную копию текущего конфига

В последних версиях neovim завезли возможность указывать профили конфигурации ($VIM и $VIMRUNTIME), чтобы не заниматься подобным.

По итогу в статье примерно нифига не сказано, как же таки сделать его удобным IDE. Установка Astro и LSP точно не конец ибо все это ещё надо доконфигурировать и домапливать. Для совсем новичков предложил бы воспользоваться Kickstart Nvim и уже его распилить на собственную конфигурацию, идиоматично распилив на файлы.

Только меня раздражает слово "туториал" в названии? Почему нельзя использовать нормальное русское слово "руководство"?

Вот мне кажется, что вместо огораживания языка от нововведений нужно наоборот обогащать язык, заимствуя любые полезные слова из любых других языков. Туториал, например - это вполне конкретный тип руководства, в котором кратко и с нуля описывается практика работы с инструментом. А просто "руководство" вызывает ассоциацию скорее с огромным томом документации, в котором описаны все возможные функции, но которое не поможет за полчаса чем-либо овладеть.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий