FixVim — это конфигурация NeoVim для Linux, написанная на ЯП Lua, цель которой — предоставить разумную конфигурацию по умолчанию с невероятно быстрым временем запуска! Если вам понравится данная сборка, поставьте 🌟 этому репозиторию!
- Используется удобная модульная структура, благодаря которой очень легко поддерживать работоспособность сборки.
- Ориентированность на русскоговорящих пользователей.
- Огромное количество поясняющих комментариев, за счет которых пользователь сможет быстрее и проще разобраться в функционале.
Для того чтобы FixVim работал корректно, требуется удовлетворить его зависимости. (Учтите, что одним из требований является использование последней стабильной версии NeoVim!)
Установка необходимых пакетов в:
Arch Linux:
sudo pacman -Syu --needed git neovim xclip wl-clipboard nodejs npm
ALT Linux:
su - -c "apt-get install git neovim xclip wl-clipboard nodejs npm gcc"
P.S: Если вы используете что-то другое, вам придется заменить команду на аналогичную для вашего дистрибутива!
Все пакеты, указанные выше, рекомендуются к установке по умолчанию для лучшей совместимости и избежания потенциальных проблем.
Однако вы можете пренебречь некоторыми пакетами.
Например, если вы не используете Wayland, нет необходимости в установке пакета wl-clipboard
.
Краткое объяснение назначения пакетов:
neovim
— рассматриваемая программа, к которой будет применена конфигурацияgit
— система контроля версий, необходима для установки FixVimxclip
— поддержка буфера обмена в сеансе X11wl-clipboard
— поддержка буфера обмена в сеансе Waylandnodejs
иnpm
— зависимости Mason (менеджер пакетов для LSP, DAP, линтеров и форматтеров в NeoVim)
Помимо этого, требуется наличие терминала с поддержкой True Color, а также в нем должен использоваться один из шрифтов коллекции Nerd Fonts.
При этом необходимо удовлетворить зависимости актуальной версии NeoVim и используемых в FixVim расширений.
(Например, для nvim-treesitter
необходимо наличие gcc в системе.)
P.S: Если вы до этого не настраивали NeoVim, можете смело приступать к установке FixVim. Если же вы использовали собственные настройки или сторонние конфигурации, выполните действия, указанные ниже:
-
Сохраните копию своей конфигурации, если вам это нужно. Данную процедуру можно выполнить следующей командой:
mv ~/.config/nvim ~/.config/oldnvim
P.S:
~/.config/oldnvim
можно заменить на любой свой путь с нужным названием. -
После выполнения или пропуска первого пункта, выполните действия из раздела Удаление FixVim.
Теперь вы готовы к следующему этапу!
Для установки данной сборки выполните команду ниже:
git clone --depth 1 https://github.com/krator3/fixvim ~/.config/nvim && rm -rf ~/.config/nvim/lazy-lock.json ~/.config/nvim/.git
Также для корректной работы FixVim не требуются файлы LICENSE
и README.md
, поэтому можете удалить их, если они вам не нужны.
После выполнения предыдущих шагов остается последний штрих. Запустите следующую команду в своем терминале:
nvim
Данная команда запустит Neovim, далее автоматически активирует Lazy
(менеджер плагинов), который установит и подключит расширения, предложенные данной сборкой.
После завершения установки нажмите клавишу q
, которая закроет окно Lazy
.
При следующих запусках NeoVim
окно Lazy
больше не будет запускаться автоматически!
Далее убедитесь, что все предусмотренные treesitter были установлены, а также проконтролируйте установку LSP и других инструментов через команду :Mason
.
Данное окно также закрывается при помощи клавиши q
, и оно тоже не будет автоматически отображаться при следующих запусках программы.
По окончании финальной настройки FixVim, перезапустите программу и начинайте получать удовольствие от ее использования!
P.S: Дополнительно рекомендуется запустить команду :checkhealth
после перезапуска для проверки корректности установки конфигурации.
Для установки дополнительных LSP используйте одну из предложенных команд:
:LspInstall <language>
:MasonInstall <language>
(Данная команда позволяет устанавливать не только LSP, но и другие полезные инструменты для программирования.)
Для установки дополнительных TreeSitter используется команда :TSInstall <language>
.
Обычно недостающие TreeSitter устанавливаются автоматически, но вы можете изменить данное поведение в настройках сборки.
P.S: Обратите внимание, что комбинации клавиш FixVim могут конфликтовать с системными сочетаниями клавиш! В таком случае вам придется вручную изменить их либо в настройках FixVim, либо в системе. Помните, что системные сочетания обладают более высоким приоритетом, поэтому в сложившейся ситуации вместо сочетаний FixVim будут выполнены системные!
Для того чтобы полностью удалить FixVim из вашей системы и вернуть стандартный NeoVim, необходимо выполнить следующую команду:
rm -rf ~/.cache/nvim ~/.local/share/nvim ~/.local/state/nvim ~/.config/nvim
Любая помощь со стороны категорически приветствуется! Если вы хотите сообщить о найденных ошибках или предложить нововведение без готового решения, просто откройте новую проблему с соответствующей темой. Если же вы хотите внести изменения в сборку (например, исправить ошибку, улучшить документацию и так далее), не стесняйтесь и смело создавайте свои PR! В независимости от того, какую помощь вы решили оказать, важно подробно описать ее.
Этот проект лицензируется по лицензии GNU GPL — подробности см. в файле LICENSE.
-
Что делать, если Python не видит сторонние файлы и библиотеки?
По умолчанию Pyright (LSP для Python) запускается в однофайловом режиме работы. Чтобы переключить режим работы на многофайловый, следует ознакомиться со следующей настройкой:
root_dir = lsputil.root_pattern('.git', 'pyrightconfig.json', 'setup.py', 'setup.cfg', 'requirements.txt', 'Pipfile', 'pyproject.toml'),
Данный параметр определяет файлы и директории, которые переводят Pyright в многофайловый режим работы. При обнаружении чего-либо указанного в параметре, Pyright будет видеть все содержимое данного каталога. Чтобы Pyright смог обнаружить сторонние библиотеки, нужно использовать виртуальное окружение. Для того чтобы его создать, выполните следующую команду в терминале в нужной вам директории до запуска NeoVim!
python3 -m venv venv
После активируйте его командой ниже:
source venv/bin/activate
Теперь запустите Neovim командой
nvim
в этом же каталоге. После всех проведенных манипуляций FixVim будет видеть как сторонние файлы, так и сторонние библиотеки.P.S: Если вам понадобится установить еще несколько библиотек внутри NeoVim, не забудьте вновь активировать виртуальную среду в выбранном терминале! Также после установки новых библиотек выполняйте команду
:LspRestart
в NeoVim для того, чтобы Pyright принял все внесенные изменения! Естественно, вам никто не запрещает сначала установить нужные библиотеки и только после этого зайти в NeoVim. Если вы уверены, что вам больше ничего не придется доустановить, то нет необходимости проделывать действия из этого блока. -
Как сохранить существующую конфигурацию параллельно с FixVim? Для этого вы можете использовать псевдонимы вашей командной оболочки. Например, вы можете установить FixVim в
~/.config/fixvim
и создать псевдоним:alias fixvim='NVIM_APPNAME="fixvim" nvim'
Благодаря этому вы сможете запускать конфигурацию "по умолчанию" при помощи команды
nvim
, а сборку FixVim — при помощи командыfixvim
. Также вы можете изменить псевдоним на любой другой и создать их сколько угодно. Дополнительно стоит отметить, что данный способ должен быть совместим с любой другой конфигурацией NeoVim.P.S: Учтите, что данная инструкция не была проверена мной лично! Данная информация была взята из документации к kickstart.nvim и адаптирована под данный проект!
-
Как запустить NeoVim без плагинов и других настроек? Для этого воспользуйтесь командой ниже:
nvim --clean