NVIM для разработчика
-
- Введение и установка
- Базовая настройка и конфигурация
- Как использовать разные версии редактора
- Продвинутые возможности
- Практическое применение
- Углубленное изучение и участие в сообществе
- Заметки
- Ресурсы
Идея была простая и оттого подозрительная: редактор, из которого руки не уходят с клавиатуры. Не канцелярия, не «интерфейс для продвинутых», а разговор напрямую с буфером — через регистры, через режимы, через последовательности байтов, которые ты держишь в голове, как некогда держал адреса вольфрамовой лампы.
Vi — консольный редактор, он эмулирует для совместимости команды другого старого консольного редактора ex. Археология, да. Первое издание "Learning the vi" вышло в 1986 году, и в современных переизданиях это до сих пор перепечатывается, как молитву, которую никто уже не читает вслух. На дворе 2025 год — а Vim до сих пор жив и популярен среди разработчиков. Вот вам и «археология»: он работает дольше, чем живут корпоративные стандарты, дольше, чем живут модные фреймворки, дольше, чем живут гуру, которые три года назад клялись, что без их проприетарной IDE писать код невозможно.
Основная идея — не отрывать руки от клавиатуры. Слепой набор. Если ты до сих пор не освоил его — приступай, пока не поздно. Я в процессе взаимодействия с редактором приобрёл split keyboard. Попробовал — понравилось. Очень удобно. Сложно что-то делать, когда в голове звучит «забыл, что делал, пока искал кнопку» — это не цитата, это диагноз, выписанный мне самому себе.
Если ты думаешь перемещать курсор стрелочками — знай, этот путь неправильный. Сразу отключить возможность перемещения стрелочками. Не «рассмотреть отключение». Отключить.
Утверждается, что скорость взаимимодействия с редактором вырастет, а в работу придут новые краски: ты начинаешь искать, как сделать действие быстрее комбинацией клавиш, и вдруг ловишь себя на том, чтодумаешь не о задаче, а о движении по ней. Это и есть хардкор — не агрессия, а внимание.

Решил проверить утверждение сам. Эта заметка будет меняться, дополняться, редактироваться по мере изучения редактора — как конфиг, который никогда не бывает финальным.
Я начал с готовой сборки LazyVim. Полагаю, что в любом деле правильно начинать с азов. Изначально ставил кучу дополнительных плагинов, считая, что это ускорит разработку, — но как только знакомишься с азами, понимаешь: можно было иначе. Vim имеет множество готовых сборок, поддерживаемых комьюнити. Без понимания азов ты будешь вечностью гуглить, как починить или изменить чужие настройки, и ни скорости, ни прироста производительности в первое время не увидишь. Азы не стоит откладывать в долгий ящик. С них и начинай, а параллельно читай документацию — не «изучайте», а читай, как читают листинг: построчно, вслух, с подозрением.
Введение и установка
- Основы Vim
Базовая настройка и конфигурация
- Конфигурационные файлы
- Основные конфигурационные файлы.
- Настройка базовых параметров редактора (темы, шрифты, отображение номеров строк).
!!! Всю основную информацию можно найти в официальной документации сборки LazyVim + есть книга в свободном доступе.
Продвинутые возможности
- Расширенная конфигурация
Данный плагин позволяет использовать кириллицу для навигации
Ты хоть раз пробовал думать руками, набирая кириллицей? Вот. А теперь представь, что клавиши у тебя под пальцами — те же опкоды, только на человеческом языке.
Понимай одно: куча разработчиков делает настройки под себя. Если ты полагаешь, что возьмёшь готовое, разберёшь hotkeys и заработаешь — то это не так. Настройка редактора — процесс долгий и требующий понимания того, что ты делаешь. Проект надо сдавать завтра с утра — не трать время на изучение редактора. Серьёзно. Копать глубоко — прекрасно, но не в ночь перед дедлайном.
И прежде чем начать: использование Vim вызывает зависимость. Это не метафора. Это как однажды увидеть, как дизассемблер показывает тебе, что на самом деле происходило в той функции, — назад не возвращаешься.
Как отключить автоформат кода глобально
vim.g.autoformat = false
Как отключить диагностику для некоторых файлов (.env , .md)
vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
pattern = { "*.md", ".env" },
command = "lua vim.diagnostic.disable()",
nested = false,
})
Две строчки. Меньше, чем у вступительного поста любого гуру о «продуктивности». Именно это и раздражает: столько пафоса вокруг инструмента, который по сути — умный редактор текста, считающий символы.
- Рабочие процессы и макросы
- Изучите, как создавать и использовать макросы для автоматизации рутинных задач.
- Настройка и использование скриптов для ускорения работы.
Практическое применение
-
Практика
- Выполняйте различные задачи по программированию или редактированию текста, используя LazyVim.
- Настройте редактор под свои личные нужды и предпочтения.
-
Реальные проекты
- Примените свои знания на реальных проектах.
- Настройте LazyVim для конкретных языков программирования и задач.
Углубленное изучение и участие в сообществе
-
Углубленное изучение
- Ознакомьтесь с документацией и возможностями более сложных плагинов.
- Экспериментируйте с настройками и конфигурацией.
-
Сообщество и поддержка
- Участвуйте в обсуждениях на форумах и в сообществах пользователей LazyVim.
- Поддерживайте и развивайте проекты на основе LazyVim.
Заметки
- Как отключить перемещение стрелочками
- Изменить вывод диагностической информации
- Настройка Lsp под php
- LazyVim настройка под Laravel
- Перейти в Blade файл c view()
- Grug-far поиск и замена
- Работа с базой данных (плагин DAB)
Ресурсы
- Документация LazyVim: LazyVim Documentation
- Учебники и руководства по Vim: Vim Adventures, Vimcasts
- Сообщества и форумы: Reddit (r/vim, r/neovim), Stack Overflow.