Встановлення Neovim¶
Вступ до Neovim¶
Neovim є одним із найкращих редакторів коду завдяки своїй швидкості, простоті налаштування та конфігурації.
Neovim є відгалуженням редактора Vim. Він народився в 2014 році, в основному через відсутність на той час підтримки асинхронних завдань у Vim. Написаний мовою Lua з метою модулярізації коду, щоб зробити його більш керованим, Neovim був розроблений з урахуванням сучасного користувача. Як повідомляє офіційний сайт
Neovim створено для користувачів, яким потрібні найкращі частини Vim тощо.
Розробники Neovim обрали Lua, оскільки вона ідеально підходить для вбудовування, швидко використовує LuaJIT і має простий синтаксис, орієнтований на сценарії.
Починаючи з версії 0.5, Neovim включає Treesitter (інструмент генератора парсерів) і підтримує Language Server Protocol (LSP). Це зменшує кількість плагінів, необхідних для досягнення розширених функцій редагування. Це покращує продуктивність таких операцій, як завершення коду та лінтування.
Однією з його сильних сторін є можливість налаштування. Усі його конфігурації містяться в одному файлі, який можна розповсюджувати на різні інсталяції через системи контролю версій (Git або інші), щоб вони завжди були синхронізовані.
Спільнота розробників¶
Хоча Vim і Neovim є проектами з відкритим вихідним кодом і розміщені на GitHub, існує значна різниця між способами розробки. Neovim має більш відкритий розвиток спільноти, тоді як розвиток Vim більше прив’язаний до вибору його творця. База користувачів і розробників Neovim досить мала порівняно з Vim, але це проект, який постійно зростає.
Ключові особливості¶
- Продуктивність: дуже швидка.
- Можливість налаштування: широка екосистема плагінів і тем
- Підсвічування синтаксису: інтегровано з Treesitter і LSP, але вимагає певної конфігурації
Як і у випадку з Vim, Neovim вимагає базових знань про його команди та параметри. Ви можете отримати огляд його можливостей за допомогою команди :Tutor, яка викликає файл, де ви можете прочитати його та потренуватися його використовувати. Навчання займає більше часу, ніж повна графічна IDE, але як тільки ви вивчите ярлики команд і включені функції, ви зможете дуже легко редагувати документи.

Інсталяція Neovim¶
Інсталяція з EPEL
Neovim також можна встановити з репозиторію EPEL. Доступна версія завжди занадто стара, щоб відповідати мінімальним вимогам інсталяції NvChad.
Встановлення цим методом настійно не рекомендується та не підтримується в цьому посібнику.
=== "Встановлення з попередньо скомпільованого пакета"
````
Використання попереднього пакета дозволяє встановити як розробну, так і стабільну версії, які відповідають вимогам і можуть бути використані як основа для налаштування NvChad.
Щоб використовувати повну функціональність редактора, необхідно задовольнити залежності, які вимагає Neovim, вручну надавши попередньо скомпільовані залежності пакета. Необхідні пакети можна встановити за допомогою:
```bash
dnf install compat-lua-libs libtermkey libtree-sitter libvterm luajit luajit2.1-luv msgpack unibilium xsel
```
Після встановлення необхідних залежностей настав час придбати вибраний пакет.
Перейшовши на [сторінку випуску](https://github.com/neovim/neovim/releases), ви зможете завантажити версію для розробки (==pre-release==) або стабільну версію (==stable==).
В обох випадках стислий архів для завантаження для нашої архітектури ==linux64==.
Необхідний файл ==nvim-linux64.tar.gz==; ми також повинні завантажити файл ==nvim-linux64.tar.gz.sha256sum==, щоб перевірити його цілісність.
Припускаючи, що обидва були завантажені в одну папку, ми використаємо таку команду для перевірки:
```bash
sha256sum -c nvim-linux64.tar.gz.sha256sum
nvim-linux64.tar.gz: OK
```
Тепер розпакуйте попередньо скомпільований пакет до місця у вашій домашній папці; у цьому посібнику вибрано розташування `.local/share/`, але його можна змінити відповідно до ваших потреб. Виконайте команду:
```bash
tar xvzf nvim-linux64.tar.gz -C ~/.local/share/
```
Все, що залишається на цьому етапі, це створити символічне посилання в ~/.local/bin/ для виконуваного файлу nvim попередньо скомпільованого пакета.
```bash
cd ~/.local/bin/
ln -sf ~/.local/share/nvim-linux64/bin/nvim nvim
```
Щоб перевірити правильність встановлення, запустіть у терміналі команду `nvim -v`, яка тепер має показати щось на зразок:
```txt
nvim -v
NVIM v0.9.5
Build type: RelWithDebInfo
LuaJIT 2.1.1692716794
```
````
=== "Встановлення з вихідного коду"
````
Встановлення з попередньо скомпільованого пакета надає `nvim` лише для користувача, який його запускає. Якщо ви хочете зробити Neovim доступним для всіх користувачів системи, вам доведеться виконати установку з початкового коду. Збірка Neovim не є особливо складною і складається з наступних кроків.
Спочатку ми встановлюємо пакети, необхідні для компіляції:
```bash
dnf install --enablerepo=crb ninja-build libtool autoconf automake cmake gcc gcc-c++ make pkgconfig unzip patch gettext curl git
```
Після того, як ми встановили необхідні пакунки, нам потрібно створити папку для збірки neovim і перейти в неї:
Клон Neovim за замовчуванням синхронізовано з гілкою розробки Neovim (на момент написання цієї статті версія 0.10.0). Щоб скомпілювати стабільну версію, нам доведеться перейти до відповідної гілки перед клонуванням за допомогою:
```bash
mkdir ~/lab/build
cd ~/lab/build
```
Тепер клонуйте репозиторій:
```bash
git clone https://github.com/neovim/neovim
```
Після завершення операції у нас буде папка з назвою *neovim*, яка містить усі необхідні файли. Наступним кроком є перевірка стабільної гілки та налаштування та компіляція вихідних кодів за допомогою команди `make`.
```bash
cd ~/lab/build/neovim/
git checkout stable
make CMAKE_BUILD_TYPE=RelWithDebInfo
```
Ми вибрали тип `RelWithDebInfo`, оскільки він забезпечує оптимізацію та функціональний рівень налагодження для подальших налаштувань. Ви також можете використати тип `Release`, якщо хочете отримати максимальну продуктивність.
Цей процес передбачає налаштування та компіляцію файлів, які потрібно розмістити в нашій системі. Ці файли зберігаються в `neovim/build`. Щоб встановити їх, ми використаємо команду *make install*:
```bash
make install
```
Оскільки ця команда змінює файлову систему, її потрібно запускати як суперкористувач, або за допомогою `sudo`, або безпосередньо користувачем root.
Після завершення встановлення ми можемо перевірити, чи все пройшло добре, перевіривши шлях до Neovim:
```bash
whereis nvim
nvim: /usr/local/bin/nvim
```
Та перевірити версію:
```bash
nvim --version
NVIM v0.9.5
Build type: Release
LuaJIT 2.1.1692716794
....
```
Як ви можете бачити з фрагмента команди вище, тут було виконано встановлення стабільної версії. Обидві версії, як стабільна, так і для розробки, ідеально працюють із NvChad на Rocky Linux 9.
### :material-package-variant-closed-remove: Видалення
Якщо нам потрібно видалити встановлення, наприклад, щоб перейти до іншої версії, нам доведеться повернутися до папки збірки та використати `target` cmake, наданий Neovim. Щоб виконати видалення, потрібно виконати наступну команду:
```bash
cmake --build build/ --target uninstall
```
Ця команда також вимагає привілеїв суперкористувача або запуску від імені користувача *root*.
Крім того, ви можете скористатися ручним методом, видаливши виконуваний файл і бібліотеки за допомогою:
```bash
rm /usr/local/bin/nvim
rm -r /usr/local/share/nvim/
```
Знову ж таки, вам потрібно виконувати ці команди з правами суперкористувача.
````
Neovim Basic¶
Як ви можете бачити на знімку екрана, базова інсталяція Neovim надає редактор, який ще не можна порівняти з IDE.

Тепер, коли у нас є базовий редактор, настав час перетворити його на щось більш розширене завдяки конфігурації, наданій NvChad.
Author: Franco Colussi
Contributors: Steven Spencer, Ganna Zhyrnova