Installazione di Neovim¶
Introduzione a Neovim¶
Neovim è uno dei migliori editor di codice per la sua velocità, facilità di personalizzazione e configurazione.
Neovim è un fork dell'editor Vim. È nato nel 2014, principalmente a causa della mancanza, all'epoca, del supporto per i lavori asincroni in Vim. Scritto in linguaggio Lua con l'obiettivo di modularizzare il codice per renderlo più gestibile, Neovim è stato progettato pensando all'utente moderno. Come si legge sul sito ufficiale
Neovim è stato creato per gli utenti che desiderano le parti migliori di Vim, e non solo.
Gli sviluppatori di Neovim hanno scelto Lua in quanto perfetto per l'incorporazione, l'utilizzo rapido di LuaJIT e una sintassi semplice e orientata agli script.
Dalla versione 0.5 Neovim include Treesitter (uno strumento per la generazione di parser) e supporta il Language Server Protocol (LSP). Questo riduce il numero di plugin necessari per ottenere funzioni di editing avanzate. Migliora le prestazioni di operazioni come il completamento del codice e il linting.
Uno dei suoi punti di forza è la personalizzazione. Tutte le sue configurazioni sono contenute in un unico file che può essere distribuito alle varie installazioni attraverso sistemi di controllo di versione (Git o altro) in modo che siano sempre sincronizzate.
Comunità di sviluppatori¶
Sebbene Vim e Neovim siano entrambi progetti open-source e ospitati su GitHub, esiste una differenza significativa tra le modalità di sviluppo. Neovim ha uno sviluppo comunitario più aperto, mentre lo sviluppo di Vim è più legato alle scelte del suo creatore. La base di utenti e sviluppatori di Neovim è piuttosto piccola rispetto a Vim, ma è un progetto in continua crescita.
Caratteristiche Principali¶
- Prestazioni: Molto veloce.
- Personalizzabile: Ampio ecosistema di plugin e temi
- Evidenziazione della sintassi: Integrato con Treesitter e LSP, ma richiede qualche configurazione
Come per Vim, Neovim richiede una conoscenza di base dei suoi comandi e delle sue opzioni. È possibile ottenere una panoramica delle sue caratteristiche attraverso il comando :Tutor
che richiama un file in cui è possibile leggerlo ed esercitarsi a usarlo. L'apprendimento richiede più tempo rispetto a un IDE completamente grafico, ma una volta imparate le scorciatoie per i comandi e le funzionalità incluse, si procederà in modo molto fluido nella modifica dei documenti.
Installazione di Neovim¶
Installazione da EPEL
Neovim è installabile anche dal repository EPEL. La versione disponibile è sempre troppo datata per soddisfare i requisiti minimi dell'installazione di NvChad.
L'installazione con questo metodo è fortemente sconsigliata e non è supportata da questa guida.
L'uso del pacchetto precompilato consente di installare sia la versione di sviluppo che quella stabile, che soddisfano i requisiti e possono essere utilizzate come base per la configurazione di NvChad.
Per utilizzare tutte le funzionalità dell'editor, è necessario soddisfare le dipendenze richieste da Neovim fornendo manualmente le dipendenze del pacchetto precompilato. I pacchetti necessari possono essere installati con:
dnf install compat-lua-libs libtermkey libtree-sitter libvterm luajit luajit2.1-luv msgpack unibilium xsel
Dopo aver installato le dipendenze necessarie, è il momento di acquisire il pacchetto scelto.
Accedendo alla pagina delle release sarà possibile scaricare la versione di sviluppo (pre-release) o la versione stabile (stable). In entrambi i casi l'archivio compresso da scaricare per la nostra architettura è linux64.
Il file richiesto è nvim-linux64.tar.gz, è necessario scaricare anche il file nvim-linux64.tar.gz.sha256sum per verificarne l'integrità.
Supponendo che entrambi siano stati scaricati nella stessa cartella, utilizzeremo il seguente comando per la verifica:
sha256sum -c nvim-linux64.tar.gz.sha256sum
nvim-linux64.tar.gz: OK
Ora scompattate il pacchetto precompilato in una posizione all'interno della vostra cartella home; in questa guida è stata scelta la posizione .local/share/
, ma può essere modificata in base alle proprie esigenze. Eseguire il comando:
tar xvzf nvim-linux64.tar.gz -C ~/.local/share/
A questo punto non rimane che creare un collegamento simbolico in ~/.local/bin/ per l'eseguibile nvim del pacchetto precompilato.
cd ~/.local/bin/
ln -sf ~/.local/share/nvim-linux64/bin/nvim nvim
Per verificare la corretta installazione, eseguire in un terminale il comando nvim -v
, che dovrebbe ora mostrare qualcosa di simile:
nvim -v
NVIM v0.9.5
Build type: RelWithDebInfo
LuaJIT 2.1.1692716794
L'installazione dal pacchetto precompilato fornisce nvim
solo all'utente che lo esegue. Se si desidera rendere Neovim disponibile a tutti gli utenti del sistema, è necessario eseguire un'installazione da sorgente. La compilazione di Neovim non è particolarmente difficile e consiste nei seguenti passaggi.
Per prima cosa installiamo i pacchetti necessari alla compilazione:
dnf install ninja-build libtool autoconf automake cmake gcc gcc-c++ make pkgconfig unzip patch gettext curl git
Una volta installati i pacchetti necessari, sarà necessario creare una cartella dove costruire neovim e passare al suo interno:
Il clone di Neovim, per impostazione predefinita, è sincronizzato con il ramo di sviluppo di Neovim (al momento in cui scriviamo, la versione 0.10.0). Per compilare la versione stabile, si dovrà passare al ramo corrispondente prima di clonarlo:
mkdir ~/lab/build
cd ~/lab/build
E successivamente clonare il repository:
git clone https://github.com/neovim/neovim
Una volta terminata l'operazione, avremo una cartella denominata neovim contenente tutti i file necessari. Il passo successivo è selezionare il ramo stabile, quindi configurare e compilare i sorgenti con il comando make
.
cd ~/lab/build/neovim/
git checkout stable
make CMAKE_BUILD_TYPE=RelWithDebInfo
Abbiamo scelto la tipologia RelWithDebInfo
in quanto fornisce delle ottimizzazioni e un livello di debug utile per le personalizzazioni successive. È anche possibile utilizzare la tipologia Release
se si preferiscono le massime prestazioni.
Il processo si occupa di configurare e compilare i file da inserire nel nostro sistema. Questi file vengono salvati in neovim/build
. Per installarli, si utilizzerà il comando make install:
make install
Poiché questo comando andrà a modificare il filesystem, deve essere eseguito come superutente, con sudo
o direttamente dall'utente root.
Terminata l'installazione, possiamo verificare che tutto sia stato eseguito correttamente controllando il percorso di Neovim:
whereis nvim
nvim: /usr/local/bin/nvim
E verificare la versione:
nvim --version
NVIM v0.9.5
Build type: Release
LuaJIT 2.1.1692716794
....
Come si può vedere dall'estratto del comando qui sopra, è stata eseguita un'installazione della versione stabile. Entrambe le versioni, quella stabile e quella di sviluppo, funzionano perfettamente con NvChad su Rocky Linux 9.
Disinstallazione¶
Se è necessario rimuovere l'installazione, per esempio per passare a un'altra versione, si dovrà ritornare alla cartella di compilazione e usare il cmake target
fornito da Neovim. Per eseguire la disinstallazione, è necessario eseguire il seguente comando:
cmake --build build/ --target uninstall
Anche questo comando richiede i permessi di superutente o di essere eseguito come utente root.
In alternativa, è possibile utilizzare il metodo manuale rimuovendo l'eseguibile e le librerie con:
rm /usr/local/bin/nvim
rm -r /usr/local/share/nvim/
Anche in questo caso, è necessario eseguire questi comandi con i permessi di superutente.
Uso di Base¶
Come si può vedere dalla schermata, un'installazione di base di Neovim fornisce un editor che non può ancora essere paragonato a un IDE.
Ora che abbiamo il nostro editor di base, è il momento di trasformarlo in qualcosa di più avanzato grazie alla configurazione fornita da NvChad.
Author: Franco Colussi
Contributors: Steven Spencer, Ganna Zhyrnova