nvim-cmp - Как превратить Neovim в интеллектуальный редактор кода

29 июл 2025
9,479
438
39
2 месяца

Знакомо чувство, когда печатаешь код и мечтаешь о том, чтобы редактор понимал, что ты хочешь написать дальше? Именно эту проблему решает nvim-cmp — плагин автодополнения для Neovim, который уже собрал почти 9 тысяч звезд на GitHub.

Что такое nvim-cmp?

Это движок автодополнения, написанный на Lua, который интегрируется с Neovim и предоставляет интеллектуальные подсказки при наборе кода. В отличие от многих других решений, nvim-cmp:

  • Полностью поддерживает LSP (Language Server Protocol)
  • Позволяет использовать различные источники автодополнения
  • Настраивается под любые нужды через Lua-функции
  • Работает без мерцания интерфейса

Ключевые возможности

1. Поддержка множества источников

nvim-cmp сам по себе — это только движок. Его сила — в возможности подключения различных источников автодополнения:

  • cmp-nvim-lsp — дополнения от Language Server
  • cmp-buffer — слова из текущего буфера
  • cmp-path — пути к файлам
  • cmp-cmdline — команды Neovim

И это только начало. В списке источников вы найдете десятки вариантов.

2. Гибкая настройка сниппетов

Плагин поддерживает все популярные системы сниппетов:

Реклама
" Пример настройки для разных систем сниппетов
Plug 'hrsh7th/cmp-vsnip'
Plug 'hrsh7th/vim-vsnip'

" Или для LuaSnip:
" Plug 'L3MON4D3/LuaSnip'
" Plug 'saadparwaiz1/cmp_luasnip'

3. Умное управление маппингами

Настройте горячие клавиши под свои привычки:

cmp.setup({
  mapping = cmp.mapping.preset.insert({
    ['<C-b>'] = cmp.mapping.scroll_docs(-4),
    ['<C-f>'] = cmp.mapping.scroll_docs(4),
    ['<C-Space>'] = cmp.mapping.complete(),
    ['<C-e>'] = cmp.mapping.abort(),
    ['<CR>'] = cmp.mapping.confirm({ select = true }),
  })
})

Как начать использовать?

Базовая настройка занимает всего несколько шагов:

  1. Установите плагин через ваш менеджер плагинов (например, vim-plug)
  2. Добавьте необходимые источники автодополнения
  3. Настройте конфигурацию в вашем init.lua

Полный пример конфигурации можно найти в официальном репозитории.

Кому особенно пригодится?

  • Разработчикам, которые хотят превратить Neovim в полноценную IDE
  • Тем, кто устал от стандартного автодополнения в Neovim
  • Любителям кастомизировать каждый аспект своего редактора

nvim-cmp — это не просто плагин автодополнения, а целая экосистема, которая может значительно ускорить ваш workflow. С почти 9 тысячами звезд на GitHub и активным сообществом, это одно из лучших решений для Neovim.

Попробуйте — и, возможно, вы уже не сможете представить работу без этого инструмента!

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.