Персональная конфигурация Neovim для веб-разработки, оптимизированная для работы с Windsurf, VSCode и standalone Neovim.
- Особенности
- Требования
- Установка
- Структура
- Горячие клавиши
- Документация
- Переключение Telescope/Snacks.picker
- Комментарии на русском
- Лицензия
- 🎯 Два режима работы:
- VSCode/Windsurf (через vscode-neovim)
- Standalone Neovim (полная IDE)
- ⚡ Быстрый запуск благодаря lazy.nvim
- 🎨 Красивый UI с tokyonight, lualine, bufferline
- 🛠️ Веб-разработка: React, TypeScript
- 🤖 AI автодополнение через Supermaven
- 📁 Современные плагины конца 2025 года
- Neovim >= 0.10.0
- Git >= 2.19.0
- Nerd Font (для иконок)
- Node.js (для LSP серверов)
- ripgrep (для поиска)
# Бэкап текущей конфигурации
mv ~/.config/nvim ~/.config/nvim.bak
# Клонирование
git clone git@github.com:bad4iz/nvimVScode.git ~/.config/nvim
# Запуск Neovim (плагины установятся автоматически)
nvim~/.config/nvim/
├── init.lua # Точка входа
└── lua/user/
├── common/ # 🔗 Общие настройки (оба режима)
│ ├── options.lua # Базовые vim опции
│ ├── keymaps.lua # Общие сочетания клавиш
│ └── plugins/
│ ├── flash.lua # Быстрая навигация
│ ├── nvim-surround.lua
│ ├── nvim-toggler.lua
│ ├── mini-ai.lua
│ └── vim-repeat.lua
│
├── windsurf/ # 🆚 Только для VSCode/Windsurf
│ ├── settings.lua
│ └── keymaps.lua
│
└── nvim/ # 🖥️ Только для standalone
├── options.lua
├── autocmds.lua
└── plugins/ # Плагины по категориям
├── completion/ # 🤖 Автодополнение
│ ├── blink-cmp.lua
│ ├── luasnip.lua
│ └── supermaven.lua
│
├── editor/ # ✏️ Редактирование
│ ├── autopairs.lua
│ ├── comment.lua
│ └── surround.lua
│
├── git/ # 🔀 Git интеграция
│ └── gitsigns.lua
│
├── lang/ # 🌐 Языки и синтаксис
│ ├── treesitter.lua
│ ├── markdown.lua
│ └── spell.lua
│
├── lsp/ # 🛠️ LSP и линтинг
│ ├── lsp.lua
│ ├── mason.lua
│ ├── conform.lua
│ └── trouble.lua
│
├── tools/ # 🔧 Инструменты
│ ├── neo-tree.lua
│ ├── snacks.lua
│ └── telescope.lua
│
└── ui/ # 🎨 Интерфейс
├── tokyonight.lua
├── lualine.lua
├── bufferline.lua
└── which-key.lua
Лидер-клавиша: <Space>
| Клавиша | Описание |
|---|---|
s |
Flash: прыжок к символу |
S |
Flash: Treesitter выбор |
ys{motion}{char} |
Окружить текст |
ds{char} |
Удалить окружение |
cs{old}{new} |
Изменить окружение |
<leader>i |
Переключить значение (true/false) |
| Клавиша | Описание |
|---|---|
<leader>ff |
Найти файлы |
<leader>fg |
Поиск текста (grep) |
<leader>fb |
Буферы |
<leader>e |
Файловый менеджер |
<leader>gg |
Lazygit |
gd |
Перейти к определению |
gr |
Найти ссылки |
K |
Документация |
<leader>la |
Действия кода |
<leader>lf |
Форматировать |
Подробные руководства по использованию:
| Документ | Описание |
|---|---|
| ⌨️ Горячие клавиши | Полный справочник всех сочетаний клавиш (AstroNvim style) |
| 🧭 Навигация | Поиск файлов, прыжки, LSP навигация |
| 🎯 Мультикурсор | Множественные курсоры и выделения |
| 🤖 AI автодополнение | Supermaven и AI помощники |
| 📋 Quickfix | Работа со списком ошибок |
По умолчанию используется snacks.picker. Для переключения на Telescope:
- Откройте
lua/user/nvim/plugins/telescope.lua - Удалите строку:
if true then return {} end - Отключите picker в snacks.lua
Все файлы конфигурации содержат подробные комментарии на русском языке с описанием:
- Назначения плагина
- Способов использования
- Горячих клавиш
- Ссылок на документацию
MIT