Справочник экстр
Полный справочник по всей 51 экстре lazyvimx.
📑 Содержание
- Обзор
- Core-модули
- UI (22)
- Coding (2)
- Motions (6)
- Buf (4)
- Git (4)
- Lang (4)
- Linting (2)
- Colorschemes (1)
- DAP (1)
- Perf (4)
- Test (1)
- Сводная таблица
📖 Обзор
Экстра — это необязательный модуль с готовой настройкой плагина или поведения поверх LazyVim. Каждую можно включить отдельно: через UI :LazyExtras (секция lazyvimx помечена иконкой ) или импортом в конфиге.
Через UI:
:LazyExtrasЧерез конфиг:
{ import = "lazyvimx.extras.<категория>.<имя>" }Включить всё сразу:
{ import = "lazyvimx.extras.core.all" }🧩 Core-модули
Core — не фичи, а «сборные» модули: они включают наборы других экстр, оверрайдов и кеймапов.
core.all
Импорт: lazyvimx.extras.core.all
Весь lazyvimx целиком: оверрайды, все экстры, цветовые схемы и кастомные кеймапы.
Включает:
core.colorschemes— дополнительные цветовые схемыcore.overrides— все 39 оверрайдовcore.extras— все 49 экстр из реестраcore.keys— кастомные кеймапы
Дополнительно при старте проверяет, включены ли рекомендуемые экстры самого LazyVim, и показывает уведомление, если чего-то не хватает: coding.mini-surround, coding.yanky, ui.edgy, ui.treesitter-context.
core.overrides
Импорт: lazyvimx.extras.core.overrides
Рекомендуется: да
Все оверрайды плагинов — 39 модулей в 4 категориях:
- LazyVim (9 модулей)
- Snacks.nvim (9 модулей)
- Bufferline (6 модулей)
- прочие плагины (15 модулей)
Подробнее — на странице Архитектура.
core.extras
Импорт: lazyvimx.extras.core.extras
Реестр всех 49 функциональных экстр (все категории, кроме colorschemes) — один импорт вместо сорока девяти. ui.better-progressbar из реестра включается только под Ghostty (TERM=xterm-ghostty).
core.colorschemes
Импорт: lazyvimx.extras.core.colorschemes
Дополнительные цветовые схемы. Сейчас включает одну экстру — colorschemes.nord.
core.keys
Импорт: lazyvimx.extras.core.keys
Кастомные кеймапы для фич lazyvimx. Кеймапы привязаны к плагинам: если плагин не установлен, его кеймапы просто не появятся.
Полный список — на странице Кеймапы.
🎨 UI
Экстры, улучшающие внешний вид и интерфейс.
ui.better-colorcolumn
Импорт: lazyvimx.extras.ui.better-colorcolumn
Вертикальная линия-ограничитель на 120-м столбце — виртуальным символом │ вместо залитой колонки.
Плагин: lukas-reineke/virt-column.nvim
ui.better-cursorline
Импорт: lazyvimx.extras.ui.better-cursorline
Cursorline только в активном окне; номер строки подсвечивается всегда. Служебные буферы (дашборд, neo-tree, терминалы и т.п.) исключены.
Плагин: tummetott/reticle.nvim
ui.better-diagnostic
Импорт: lazyvimx.extras.ui.better-diagnostic
Диагностика одной строкой у курсора — с иконками, цветами и кастомными стрелками. Родной virtual text отключается.
Плагин: rachartier/tiny-inline-diagnostic.nvim
ui.better-explorer
Импорт: lazyvimx.extras.ui.better-explorer
Файловый менеджер Yazi во весь экран, без рамок, с богатым превью файлов.
Плагин: mikavilpas/yazi.nvim
Кеймапы: <leader>fy — открыть Yazi, <leader>fY — открыть предыдущую сессию Yazi (через core.keys).
ui.better-float
Импорт: lazyvimx.extras.ui.better-float
Единый стиль плавающих окон: скруглённые рамки и согласованные размеры для DAP UI, gitsigns, Mason, LSP-окон, neo-tree, noice, терминалов Snacks, lazygit и fzf-lua.
ui.better-insert-mode
Импорт: lazyvimx.extras.ui.better-insert-mode
В insert-режиме прячет отвлекающие элементы: treesitter-контекст, счётчики symbol-usage, индент-гайды и colorcolumn. При выходе из insert всё возвращается.
ui.better-linenumbers
Импорт: lazyvimx.extras.ui.better-linenumbers
Отключает относительные номера строк в командном режиме (чтобы : показывал абсолютные) и все номера — в терминальных буферах.
ui.better-live-rename
Импорт: lazyvimx.extras.ui.better-live-rename
LSP-переименование с живым превью прямо в буфере. Подтверждение — <CR>, отмена — <C-c>.
Плагин: saecki/live-rename.nvim
Кеймапы: <leader>cr (через core.keys).
ui.better-progressbar
Импорт: lazyvimx.extras.ui.better-progressbar
Прогресс LSP-задач в нативном прогресс-баре терминала Ghostty (escape-последовательность OSC 9;4) вместо уведомлений в редакторе. Показывает проценты, если сервер их сообщает, и «пульсирующий» индикатор, если нет. Уведомления noice о прогрессе LSP отключаются.
Требует: Ghostty (TERM=xterm-ghostty); в других терминалах экстра лишь покажет предупреждение.
ui.better-reference-highlight
Импорт: lazyvimx.extras.ui.better-reference-highlight
Подсветка LSP-референсов жирным цветом текста вместо заливки фона: rosewater у Catppuccin, смесь с magenta у Tokyo Night.
Темы: Catppuccin, Tokyo Night.
ui.better-whitespace
Импорт: lazyvimx.extras.ui.better-whitespace
Показ пробельных символов в visual-режиме, как в VSCode: пробелы ·, табы →, nbsp ␣, конец строки ↩.
Плагин: mcauley-penney/visual-whitespace.nvim
ui.bolder-separators
Импорт: lazyvimx.extras.ui.bolder-separators
Жирные Unicode-разделители окон: ━, ┃, ┳, ┻, ╋, ┫, ┣.
ui.diff-view
Импорт: lazyvimx.extras.ui.diff-view
Diffview с размерами панелей из общей layout-утилиты: панель файлов слева, история снизу — согласованно с остальными сайдбарами.
Плагин: sindrets/diffview.nvim
Команды: :DiffviewOpen, :DiffviewFileHistory.
ui.highlighted-ansi-escape
Импорт: lazyvimx.extras.ui.highlighted-ansi-escape
Рендер ANSI escape-последовательностей настоящими цветами: логи, вывод DAP REPL (раскрашивается автоматически).
Плагин: m00qek/baleia.nvim
Команды: :BaleiaColorize — раскрасить текущий буфер, :BaleiaLogs — показать лог плагина.
ui.highlighted-colors
Импорт: lazyvimx.extras.ui.highlighted-colors
Индикатор в цвете каждого hex-кода в конце строки.
Плагин: brenoprata10/nvim-highlight-colors
ui.inline-fold
Импорт: lazyvimx.extras.ui.inline-fold
Сворачивает выделение в метку: Some text EXAMPLE WORDS text → Some text … text. Нативные фолды только построчные и не создаются вручную при foldmethod=expr, поэтому текст остаётся в буфере и прячется за виртуальным текстом — после разворачивания подсветка и extmarks на месте. Построчное выделение схлопывается в одну строку с меткой; посимвольное на несколько строк оставляет хвост последней строки на отдельной строке.
Кеймапы: zF в visual-режиме — свернуть выделение (спросит метку), zF в normal — развернуть под курсором.
ui.peek-preview
Импорт: lazyvimx.extras.ui.peek-preview
Peek-окно для LSP-локаций, как в VSCode. Если результат один — сразу прыжок, если несколько — превью со списком.
Плагин: dnlhc/glance.nvim
Кеймапы: gr — референсы через Glance (через core.keys).
ui.scrollbar
Импорт: lazyvimx.extras.ui.scrollbar
Скроллбар только в активном окне. Прячется в insert-режиме и в служебных буферах.
Плагин: dstein64/nvim-scrollview
ui.simple-mode
Импорт: lazyvimx.extras.ui.simple-mode
Минимальный интерфейс для чтения man-страниц: при запуске nvim +Man! <команда> отключаются statusline, bufferline, neo-tree и номера строк.
ui.showkeys
Импорт: lazyvimx.extras.ui.showkeys
Плашка с нажимаемыми клавишами в углу экрана — для скринкастов, демо и парного программирования. Включается командой :ShowkeysToggle. Все демо-гифки этой документации записаны с ней.
Плагин: nvzone/showkeys
ui.symbol-usage
Импорт: lazyvimx.extras.ui.symbol-usage
Счётчики использований символов в конце строки, как в JetBrains IDE: 3 usages. Показ определений и реализаций выключен по умолчанию, для вложенных функций — суммарный счётчик.
Плагин: Wansmer/symbol-usage.nvim
ui.winbar
Импорт: lazyvimx.extras.ui.winbar
Winbar с иконкой типа файла и коротким путём (pretty path из LazyVim), жирным шрифтом на прозрачном фоне. В служебных буферах не показывается.
Плагин: nvim-lualine/lualine.nvim
✍️ Coding
coding.comments
Импорт: lazyvimx.extras.coding.comments
Комментирование с учётом контекста tree-sitter (правильный commentstring в JSX, Vue и т.п.) плюс генерация JSDoc/TSDoc-документации.
Плагины: nvim-mini/mini.comment, JoosepAlviste/nvim-ts-context-commentstring, kkoomen/vim-doge
Кеймапы: gcc — комментарий (mini.comment), gcd — сгенерировать документацию (doge).
coding.emmet
Импорт: lazyvimx.extras.coding.emmet
Разворачивание Emmet-аббревиатур: div.container>ul>li*3 → готовая разметка. Плюс команда :EmmetWrap — обернуть выделение в аббревиатуру.
Плагины: neovim/nvim-lspconfig (emmet_language_server), olrtg/nvim-emmet
Кеймапы: <leader>cw — обернуть в аббревиатуру (через core.keys).
🧭 Motions
motions.better-cursor-move
Импорт: lazyvimx.extras.motions.better-cursor-move
Курсор не убегает при сдвигах (>, <) и фильтрах. Работает и в VSCode.
Плагин: gbprod/stay-in-place.nvim
motions.better-move-between-words
Импорт: lazyvimx.extras.motions.better-move-between-words
Движения w/e/b по подсловам: останавливаются внутри camelCase и пропускают незначащую пунктуацию. UTF-8, работает и в VSCode.
Плагин: chrisgrieser/nvim-spider
Кеймапы: w/e/b, cw, а в insert-режиме <C-f>/<C-b> (через core.keys).
Требует: Lua 5.1 или LuaJIT в PATH (brew install luajit) — без системного Lua не собирается luarocks.nvim, а без рока luautf8 подслова в не-ASCII тексте не видны.
motions.langmapper
Импорт: lazyvimx.extras.motions.langmapper
Рекомендуется: да
Русская раскладка без переключения: все кеймапы автоматически транслируются. Настроены langmap для RU-раскладки, хак getcharstr (чтобы работали ожидающие ввода команды вроде f), интеграция с which-key и Snacks.
Плагин: Wansmer/langmapper.nvim
motions.sibling-move
Импорт: lazyvimx.extras.motions.sibling-move
Перемещение по синтаксическому дереву: между параметрами, элементами массива, соседними узлами. Цель подсвечивается на 250 мс.
Плагин: aaronik/treewalker.nvim
Кеймапы: <C-A-h/j/k/l> — навигация, <C-A-,>/<C-A-.> — перестановка узлов (через core.keys).
motions.sibling-swap
Импорт: lazyvimx.extras.motions.sibling-swap
Перестановка соседних узлов tree-sitter: параметров функций, элементов массива, свойств объекта. Узел под курсором подсвечивается.
Плагин: Wansmer/sibling-swap.nvim
Кеймапы: <C-,> — поменять с левым, <C-.> — с правым (через core.keys).
motions.splitting-joining-blocks
Импорт: lazyvimx.extras.motions.splitting-joining-blocks
Разбивка и склейка блоков кода через tree-sitter: объекты, массивы, аргументы, JSX.
Плагин: Wansmer/treesj
Кеймапы: <leader>ct — переключить, <leader>c\ — разбить, <leader>cj — склеить (через core.keys).
// <leader>ct превращает
{ foo: 'bar', baz: 'qux' }
// в
{
foo: 'bar',
baz: 'qux'
}
// и обратно🗂️ Buf
buf.delete-inactive
Импорт: lazyvimx.extras.buf.delete-inactive
Автоматически закрывает буферы после 30 минут неактивности (с уведомлением). Удаление файла с диска буфер не трогает.
Плагин: chrisgrieser/nvim-early-retirement
buf.delete-no-name
Импорт: lazyvimx.extras.buf.delete-no-name
Убирает пустые [No Name]-буферы: как только такой буфер прячется и он не изменён — он удаляется.
buf.remote-mounts
Импорт: lazyvimx.extras.buf.remote-mounts
Безопасное и лёгкое редактирование файлов на сетевых маунтах (sshfs и подобных).
Что делает для буферов внутри ~/mnt:
backupcopy=yes— запись «на месте», без временного файла и rename- отключает swapfile и undofile (каждая их запись — сетевой roundtrip)
- отключает автоформатирование (
vim.b.autoformat) - отцепляет LSP-клиентов от таких буферов
Запись «на месте» сохраняет владельца, права и симлинки файла — это важно для конфигов под /etc на удалённой машине: запись через временный файл их теряет.
buf.tab-scope
Импорт: lazyvimx.extras.buf.tab-scope
У каждого таба — свой список буферов. Bufferline и навигация по буферам работают в пределах текущего таба.
Плагин: tiagovla/scope.nvim
Кеймапы: <leader>b<tab> — перенести буфер в другой таб (через core.keys).
🔀 Git
git.conflicts
Импорт: lazyvimx.extras.git.conflicts
Подсветка и разрешение git-конфликтов прямо в буфере. Уведомления об обнаружении и разрешении конфликта (не чаще раза в 3 секунды).
Плагин: akinsho/git-conflict.nvim
git.fugitive
Импорт: lazyvimx.extras.git.fugitive
Классический fugitive со всеми git-командами плюс :GBrowse для GitHub и GitLab. Токен GitLab берётся из переменной окружения GITLAB_TOKEN.
Плагины: tpope/vim-fugitive, tpope/vim-rhubarb, shumphrey/fugitive-gitlab.vim
Кеймапы: go — открыть файл (или выделенный диапазон) в браузере (через core.keys).
git.gitlab
Импорт: lazyvimx.extras.git.gitlab
Ревью GitLab MR не выходя из редактора: дерево обсуждений, комментарии к диффам, approve/revoke, merge (настроен squash).
Плагин: harrisoncramer/gitlab.nvim
Требует: экстру ui.diff-view (без неё покажет предупреждение).
Кеймапы: <leader>gL* — весь MR-воркфлоу (через core.keys), см. Кеймапы.
git.remote-view
Импорт: lazyvimx.extras.git.remote-view
Открытие удалённых репозиториев локально: клонирует во временную директорию и открывает в новом табе — с README, если он есть, иначе с neo-tree.
Плагин: moyiz/git-dev.nvim
Команды: :GitDevOpen <uri>, :GitDevRemoteOpen, :GitDevRemoteEnterAndOpen.
Кеймапы: gx — открыть URL под курсором, gX — ввести author/repo и открыть (через core.keys).
🌐 Lang
lang.css
Импорт: lazyvimx.extras.lang.css
Поддержка CSS/SCSS: LSP cssls со сниппетами, tree-sitter-парсеры, форматирование через stylelint (и prettier, если включена экстра LazyVim formatting.prettier), диагностика stylelint_lsp при включённой linting.eslint.
lang.ejs
Импорт: lazyvimx.extras.lang.ejs
Подсветка EJS-шаблонов: файлы .ejs регистрируются как eruby с парсером embedded_template.
lang.json
Импорт: lazyvimx.extras.lang.json
JSONC (JSON с комментариями) подсвечивается парсером json.
lang.skhd
Импорт: lazyvimx.extras.lang.skhd
Подсветка конфигов skhd.zig (skhdrc) собственной tree-sitter-грамматикой.
Плагин: aimuzov/tree-sitter-skhdrc
🧹 Linting
linting.cspell
Импорт: lazyvimx.extras.linting.cspell
Проверка орфографии cspell для всех типов файлов. Включается только если cspell установлен локально в проекте (например, через npm) — глобальный бинарник не подхватывается.
Плагин: mfussenegger/nvim-lint
linting.stylelint
Импорт: lazyvimx.extras.linting.stylelint
Устанавливает stylelint-language-server через Mason. При включённой экстре LazyVim linting.eslint настраивает stylelint_lsp: корень проекта определяется детектором LazyVim, а список проверяемых типов расширен (css, scss, less, html, vue, svelte и другие).
🌈 Colorschemes
colorschemes.nord
Импорт: lazyvimx.extras.colorschemes.nord (входит в core.colorschemes)
Цветовая схема Nord с сотней кастомных хайлайтов под плагины lazyvimx: blink.cmp, bufferline, neo-tree, snacks-дашборд, symbol-usage и другие. Включает собственные темы для lualine и bufferline, тёмный (nord) и светлый (nord-light) варианты.
Плагин: gbprod/nord.nvim
🐞 DAP
dap.vscode-js
Импорт: lazyvimx.extras.dap.vscode-js
Отладка JavaScript/TypeScript (и Svelte) через js-debug-adapter из Mason. Три конфигурации:
- Запуск Chrome для отладки клиента (localhost:8080)
- Подключение к процессу
node --inspect - Запуск текущего файла в node (только JavaScript)
Требует: экстру LazyVim dap.core (без неё не активируется и покажет предупреждение). В VSCode отключена.
Кеймапы: <F5> / <F10> / <F11> / <F12> (через core.keys).
⚡ Perf
perf.auto-update-deps
Импорт: lazyvimx.extras.perf.auto-update-deps
Автообновление всех пакетов Mason при старте: LSP-серверов, отладчиков, линтеров и форматтеров — включая установленные вручную через :MasonInstall.
Плагин: WhoIsSethDaniel/mason-tool-installer.nvim
perf.local-config
Импорт: lazyvimx.extras.perf.local-config
Локальный конфиг проекта: при открытии проекта тихо подгружается .nvim.lua или .config/nvim.lua из его корня.
Плагин: klen/nvim-config-local
-- .nvim.lua
vim.opt_local.shiftwidth = 2
vim.opt_local.expandtab = trueperf.restore-last-colorscheme
Импорт: lazyvimx.extras.perf.restore-last-colorscheme
Запоминает последнюю выбранную цветовую схему и восстанавливает её при старте — в рамках логики светлых/тёмных вариантов lazyvimx (см. Настройка).
Плагин: raddari/last-color.nvim
perf.stop-inactive-lsp
Импорт: lazyvimx.extras.perf.stop-inactive-lsp
Останавливает LSP-клиентов, к буферам которых давно не обращались, и освобождает память.
Плагин: zeioth/garbage-day.nvim
🧪 Test
test.jest
Импорт: lazyvimx.extras.test.jest
Jest-адаптер для Neotest: запуск тестов из редактора, вывод результатов, обнаружение тестов самим Jest, переменная окружения CI=true.
Плагины: nvim-neotest/neotest, haydenmeade/neotest-jest
Требует: экстру LazyVim test.core (без неё не активируется).
📊 Сводная таблица
| Категория | Кол-во | Что внутри |
|---|---|---|
| UI | 22 | Интерфейс и внешний вид |
| Motions | 6 | Навигация и перемещения по коду |
| Buf | 4 | Управление буферами |
| Git | 4 | Git и GitLab |
| Lang | 4 | Поддержка языков |
| Perf | 4 | Производительность и удобство |
| Coding | 2 | Инструменты написания кода |
| Linting | 2 | Линтеры |
| Colorschemes | 1 | Цветовые схемы |
| DAP | 1 | Отладка |
| Test | 1 | Тестирование |
| Итого | 51 | плюс 5 core-модулей для включения наборами |
🚀 С чего начать
core.all— всё сразу; либоcore.overrides+ отдельные экстры по вкусуmotions.langmapper— если печатаете на русской раскладкеui.better-diagnostic— читаемая диагностикаui.better-float— единый стиль оконgit.conflicts— если случаются конфликтыcoding.comments— комментирование с контекстом
🔗 См. также
- Настройка — настройка
- Кеймапы — кеймапы
- API — утилиты
- Архитектура — устройство