← Назад к обзору

Плагины и экосистема

Менеджер плагинов: lazy.nvim

Самый популярный современный менеджер плагинов — lazy.nvim. Поддерживает ленивую загрузку (плагины загружаются только когда нужны), что ускоряет запуск.

Установка

Создайте ~/.config/nvim/lua/plugins/init.lua:

-- Установка lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({
    "git", "clone", "--filter=blob:none",
    "https://github.com/folke/lazy.nvim.git",
    "--branch=stable", lazypath,
  })
end
vim.opt.rtp:prepend(lazypath)

-- Загрузка плагинов
require("lazy").setup({
  -- Спецификации плагинов
  -- Каждый плагин обычно в отдельном файле lua/plugins/
}, {
  defaults = { lazy = true },  -- Ленивая загрузка по умолчанию
})

Затем в init.lua:

require("plugins")

Основные плагины

Цветовая схема

{
  "catppuccin/nvim",
  name = "catppuccin",
  priority = 1000,  -- Загружать первым
  config = function()
    vim.cmd.colorscheme("catppuccin-mocha")
  end,
}

Строка состояния

{
  "nvim-lualine/lualine.nvim",
  dependencies = { "nvim-tree/nvim-web-devicons" },
  config = function()
    require("lualine").setup()
  end,
}

Файловый менеджер

{
  "nvim-tree/nvim-tree.lua",
  dependencies = { "nvim-tree/nvim-web-devicons" },
  keys = {
    { "<leader>e", "<cmd>NvimTreeToggle<cr>", desc = "Переключить файловый менеджер" },
  },
  config = function()
    require("nvim-tree").setup()
  end,
}

Which-Key (подсказки клавиш)

{
  "folke/which-key.nvim",
  event = "VeryLazy",
  config = function()
    require("which-key").setup()
  end,
}

Встроенный терминал

Neovim имеет встроенный эмулятор терминала. Это одна из его ключевых возможностей.

КомандаДействие
:terminal или :termОткрыть терминал в новом окне
:split term://bashОткрыть терминал в горизонтальном разделении
:vsplit term://zshОткрыть терминал в вертикальном разделении

Терминальный режим

Когда терминал открыт, вы находитесь в Terminal-Job mode (ведёт себя как обычный терминал). Чтобы использовать команды Neovim:

  • Ctrl-\ Ctrl-N — Переключиться в нормальный режим из терминала
  • Из нормального режима можно прокручивать, копировать и навигировать по выводу терминала

Полезные привязки для терминала

-- Выход из терминального режима по Esc
vim.keymap.set("t", "<Esc><Esc>", "<C-\\><C-n>", { desc = "Выйти из терминального режима" })

-- Открытие терминала
vim.keymap.set("n", "<leader>t", function()
  vim.cmd("split | terminal")
  vim.cmd("startinsert")
end, { desc = "Открыть терминал" })