Перейти до змісту

Встановлення Neovim

Вступ до Neovim

Neovim є одним із найкращих редакторів коду завдяки своїй швидкості, простоті налаштування та конфігурації.

Neovim є відгалуженням редактора Vim. Він народився в 2014 році, в основному через відсутність на той час підтримки асинхронних завдань у Vim. Написаний мовою Lua з метою модулярізації коду, щоб зробити його більш керованим, Neovim був розроблений з урахуванням сучасного користувача. Як зазначено на офіційному веб-сайті, «Neovim створено для користувачів, яким потрібні найкращі частини Vim та інше».

Розробники Neovim обрали Lua, оскільки вона ідеально підходить для вбудовування, швидко використовує LuaJIT і має простий синтаксис, орієнтований на сценарії.

Починаючи з версії 0.5 Neovim включає Treesitter (інструмент генератора парсерів) і підтримує протокол мовного сервера (LSP). Це зменшує кількість плагінів, необхідних для досягнення розширених функцій редагування. Це покращує продуктивність таких операцій, як завершення коду та лінтування.

Однією з його сильних сторін є можливість налаштування. Усі його конфігурації містяться в одному файлі, який можна розповсюджувати на різні інсталяції через системи контролю версій (Git або інші), щоб вони завжди були синхронізовані.

Спільнота розробників

Хоча Vim і Neovim є проектами з відкритим вихідним кодом і розміщені на GitHub, існує значна різниця між способами розробки. Neovim має більш відкритий розвиток спільноти, тоді як розвиток Vim більше прив’язаний до вибору його творця. База користувачів і розробників Neovim досить мала порівняно з Vim, але це проект, який постійно зростає.

Ключові особливості

  • Продуктивність: дуже швидко.
  • Можливість налаштування: широка екосистема плагінів і тем
  • Підсвічування синтаксису: інтегровано з Treesitter і LSP, але вимагає певної конфігурації

Як і у випадку з Vim, Neovim вимагає базових знань про його команди та параметри. Ви можете отримати огляд його можливостей за допомогою команди :Tutor, яка викликає файл, який ви можете прочитати та потренуватися використовувати його. Навчання займає більше часу, ніж повна графічна IDE, але як тільки ви вивчите ярлики команд і включені функції, ви зможете дуже легко редагувати документи.

Nvim Tutor

Інсталяція Neovim

Інсталяція з EPEL

Перш ніж перейти до встановлення NvChad, нам потрібно переконатися, що у нас є доступна інсталяція Neovim. Якщо він ще не встановлений, ви можете встановити його з репозиторію EPEL. Репозиторій EPEL надає мінімальну версію, необхідну для NvChad (наразі 0.7.2). Якщо ви хочете використовувати новішу версію, ми рекомендуємо інсталяцію з попередньо скомпільованого пакета або з джерела.

Щоб установити випуск Neovim, наданий EPEL, вам потрібно буде встановити сам репозиторій, якщо ви цього ще не зробили.

dnf install epel-release

Введіть таку команду, щоб інсталювати програму:

dnf install neovim

Інсталяція з попередньо скомпільованого пакета

Встановлення з попередньо скомпільованого пакета дозволяє тестувати версії розробки Neovim (0.8 і новіші). Дві версії (інсталяції) можуть співіснувати в одній системі, оскільки версія з попередньо скомпільованого пакета залишається повністю обмеженою на рівні користувача.

Щоб використовувати всі функції нової версії, ми все ще повинні задовольнити залежності, які вимагає Neovim, ми повинні надати наш nvim із залежностями вручну. Необхідні пакети можна встановити за допомогою:

dnf install compat-lua-libs libtermkey libtree-sitter libvterm luajit luajit2.1-luv msgpack unibilium xsel

Далі ми завантажуємо стислий архів для нашої архітектури (linux64) за цією адресою:

https://github.com/neovim/neovim/releases

Файл, який потрібно завантажити, це nvim-linux64.tar.gz. Щоб перевірити цілісність архіву, нам також потрібно завантажити файл nvim-linux64.tar.gz.sha256sum. Після завантаження нам потрібно перевірити його цілісність і розпакувати його десь у нашому домашньому каталозі. Пропоноване рішення полягає в тому, щоб розпакувати його в ~/.local/share/. Припустимо, що ми завантажили його в /home/user/downloads/, нам потрібно буде виконати такі команди:

sha256sum -c /home/user/downloads/nvim-linux64.tar.gz.sha256sum
nvim-linux64.tar.gz: OK

tar xvzf /home/user/downloads/nvim-linux64.tar.gz
mv /home/user/downloads/nvim-linux64 ~/.local/share/nvim-linux64

Все, що залишилося на цьому етапі, це створити символічне посилання в ~/.local/bin/ для нашого nvim.

cd ~/.local/bin/
ln -sf ~/.local/share/nvim-linux64/bin/nvim nvim

Тепер переконайтеся, що ви маєте правильну версію за допомогою команди nvim -v, яка має відобразити:

nvim -v
NVIM v0.8.3
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3

Інсталяція з вихідного коду

Встановлення з попередньо скомпільованого пакета, як зазначено вище, надає nvim лише для користувача, який його запускає. Якщо ви хочете зробити Neovim доступним для всіх користувачів системи, вам доведеться виконати установку з початкового коду. Збірка Neovim не є особливо складною і складається з наступних кроків.

Спочатку ми встановлюємо пакети, необхідні для компіляції:

dnf install ninja-build libtool autoconf automake cmake gcc gcc-c++ make pkgconfig unzip patch gettext curl git

Після того, як ми встановили необхідні пакунки, нам потрібно створити папку для збірки neovim і перейти в неї:

Клон Neovim за замовчуванням синхронізовано з гілкою розробки Neovim (на момент написання цієї статті версія 8.0). Щоб скомпілювати стабільну версію, нам доведеться перейти до відповідної гілки перед клонуванням за допомогою:

mkdir ~/lab/build
cd ~/lab/build

Тепер клонуйте репозиторій:

git clone https://github.com/neovim/neovim

Після завершення операції ми матимемо папку під назвою neovim, яка містить усі необхідні файли. Наступним кроком є перевірка стабільної гілки, а потім налаштування та компіляція джерел за допомогою команди make.

cd ~/lab/build/neovim/
git checkout stable
make CMAKE_BUILD_TYPE=RelWithDebInfo

Ми вибрали тип RelWithDebInfo, оскільки він забезпечує не лише оптимізацію, але й корисний рівень налагодження для подальших налаштувань. Ви також можете використати тип Release, якщо бажаєте отримати максимальну продуктивність.

Цей процес передбачає налаштування та компіляцію файлів, які потрібно розмістити в нашій системі. Ці файли зберігаються в neovim/build. Щоб установити їх, ми використаємо команду make install:

make install

Оскільки ця команда збирається змінити файлову систему, її потрібно запускати як суперкористувач, або за допомогою sudo, або безпосередньо користувачем root.

Після завершення встановлення ми можемо перевірити, чи все пройшло добре, перевіривши шлях до Neovim:

whereis nvim
nvim: /usr/local/bin/nvim

Та перевірити версію:

nvim --version
NVIM v0.8.3
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3
....

Як ви можете бачити з фрагмента команди вище, тут було виконано встановлення стабільної версії. Обидві версії, як стабільна, так і для розробки, ідеально працюють із NvChad на Rocky Linux 9.

Видалення

У випадку, якщо нам потрібно видалити інсталяцію, наприклад, щоб перейти до іншої версії, нам доведеться повернутися до папки збірки та використати target cmake, наданий самим Neovim. Щоб виконати видалення, потрібно виконати наступну команду:

cmake --build build/ --target uninstall

Ця команда також вимагає привілеїв суперкористувача або запуску від імені користувача root.

Крім того, ви можете скористатися ручним методом, видаливши виконуваний файл і бібліотеки за допомогою:

rm /usr/local/bin/nvim
rm -r /usr/local/share/nvim/

Знову ж таки, вам потрібно виконувати ці команди з правами суперкористувача.

Neovim Basic

Як ви можете бачити на знімку екрана, базова інсталяція Neovim надає редактор, який ще не можна порівняти з IDE.

Neovim Standard

Тепер, коли у нас є базовий редактор, настав час перетворити його на щось більш розширене завдяки конфігурації, наданій NvChad.


Востаннє оновлено: September 15, 2023

Author: Franco Colussi

Contributors: Steven Spencer, Ganna Zhyrnova