Спустя длительное время бесконечного переписывания собственного конфига, подбора плагинов, написания биндов и тп, я пришел к выводу, что куда эффективнее и быстрее будет просто использовать готовую конфигурацию

Из всех доступных готовых дистрибутивов конфигурации neovim мой выбор пал на AstroNvim. Он предоставляет все необходимые мне плагины и конфиги к ним. С его использованием, все, что мне остается сделать - поменять цветовую схему и поставить нужные мне lsp, линтеры и форматтеры через Mason.

Установка

Установка его крайне проста: нужно только склонировать starter конфиг в директорию ~/.config/nvim и запустить neovim, после чего все необходимые плагины сами подтянутся

git clone --depth 1 https://github.com/AstroNvim/template ~/.config/nvim
rm -rf ~/.config/nvim/.git
nvim

На момент написания текста, AstroNvim требует neovim версии v0.10+, поэтому на debian могут возникнуть трудности. Установка последней версии Neovim на Debian

Доп. конфигурация

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

Создаем файл colorscheme.lua в директории lua/plugins конфигураии neovim. В нем добавляем конфигурацию нужного вам плагина цветовой схемы

В моем случае получается следующее:

return {
  "thesimonho/kanagawa-paper.nvim",
  lazy = false,
  priority = 1000,
  config = function()
    require("kanagawa-paper").setup {
      colors = {
        palette = {
          -- переопределение нескольких цветов под мои цвета
          sumiInk3 = "#121212",
          sumiInk4 = "#1b1b1b",
          sumiInk5 = "#252525",
        },
      },
    }
    vim.cmd.colorscheme "kanagawa-paper-ink"
  end,
}

После этого перезапускаем neovim. Lazy загрузит плагин kanagawa-paper и сразу применит тему.

Бинды

Пожалуй удобнее всего будет писать свои бинды в файле lua/polish.lua. В нем нужно закомментировать первую строку и дальше уже добавлять бинды в любом удобном виде.

Так как бинд у меня всего один, то тут я могу обойтись одной строчкой:

-- это бинд на выделение всего текста в файле по сочетанию Ctrl+a
vim.keymap.set("n", "<C-a>", "gg<S-v>G")

LSP, линтеры, форматтеры

Выполняем команду :Mason в запущенном neovim и получаем список всех доступных к установке инструментов. Для удобства можно воспользоваться сочетанием ctrl+f и отфильтровать инструменты по нужному вам языку программирования. В моем случае это TypeScript. Далее можно переходить между вкладками, нажимая на цифры 1-5.

Я устанавливаю всего три пакета: eslint_d, prettier, typescript-language-server. Это все, что нужно React + TS разработки.