https://github.com/mattiap7/nvim-configuration
Configurazione neovim per lo sviluppo web e low level. la configurazione più completa si trova nella branch main, al momento sto utilizzando la branch "nuovo-branch"
https://github.com/mattiap7/nvim-configuration
configuration lua neovim
Last synced: about 1 year ago
JSON representation
Configurazione neovim per lo sviluppo web e low level. la configurazione più completa si trova nella branch main, al momento sto utilizzando la branch "nuovo-branch"
- Host: GitHub
- URL: https://github.com/mattiap7/nvim-configuration
- Owner: MattiaP7
- Created: 2024-08-07T21:03:21.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-08T13:12:51.000Z (about 1 year ago)
- Last Synced: 2025-02-08T14:22:55.424Z (about 1 year ago)
- Topics: configuration, lua, neovim
- Language: Lua
- Homepage:
- Size: 40 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Neovim Configuration per Windows
Questa è una configurazione per Neovim creata per la programmazione di linguaggi: C / C++, html/css/js, python. Questo documento ti guiderà attraverso l'installazione e l'uso di questa configurazione.
## Pre requisiti
Prima di procedere, assicurati di avere i seguenti strumenti installati:
- **Neovim**: Assicurati di avere l'ultima versione di Neovim installata. Puoi verificarlo eseguendo `nvim --version` nel terminale.
- **Git**: Per clonare il repository.
- **Nerd Font**: Come font del terminale.
- Assicurarsi che il nome del font non termini con "Mono" altrimenti le icone saranno piccole.
- **Nodejs**: Per il supporto ai plugin che richiedono Node.js.
- **Ripgrep** per la ricerca "grep" con Telescope.
- Make, **GnuWin32** installato e settato on path.
- **Mingw** installato e settato on path.
- **Clang** installato e settato on path (consiglio LLVM-version-win64.exe)
- Clangd, io l'ho installato tramite scoop.
## Installazione:
Segui questi passaggi per installare e configurare Neovim con questa configurazione:
1. **Clona la Repository**
Apri il terminale e clona la repository:
- cmd
```bash
git clone https://github.com/MattiaP7/nvim-configuration %USERPROFILE%\AppData\Local\nvim
```
- Powershell
```bash
git clone https://github.com/MattiaP7/nvim-configuration $env:LOCALAPPDATA\nvim
```
ricorda di eliminare la cartella `.git`.
la struttura quindi della cartella `~/AppData/Local/nvim`
```
~/AppData/Local/nvim
│ init.lua
│ lazy-lock.json
│ README.md
│
└───lua
│ .luarc.json
│ options.lua
│ plugins.lua
│
└───plugins
│ (tutti i plugins qui dentro)
│
└───lsp
│ (tutti i plugins per lsp)
│
└───language
(ogni config per i linguaggi qua dentro)
```
3. **Installare i plugin**
Spostarsi nella cartella `~/AppData/Local/nvim` eseguire il comando:
```bash
nvim
```
automaticamente dovrebbero partire i download dei plugin, per verificare il download di essi dentro nvim eseguire il comando (in normal mode): `:Lazy`, questo aprirà la ui di lazy.
> [!CAUTION]
> è possibile che è i plugin non si installino tutti la prima volta, in caso chiudere lazy con `:q` e riaprire nvim e richiamare lazy, fallo finchè tutto non sarà installato.
> [!WARNING]
> ricorda che per installare vim-doge, devi eseguire il comando: `:call doge#install()`
> [!CAUTION]
> Neovim come lsp per c++ utilizza "clangd". Se hai problemi con clangd, per esempio non trova gli header come "iostream", vai alla pagina guida [clangd](clangd.md)
4. **Lsp e Mason**
- documentazione **Mason**
- documentazione **Mason-lspconfig**
- documentazione **nvim-lspconfig**
Di default vengono installati vari language server, formatter, linter, ... per lo sviluppo di linguaggi come: C/C++, python, lua, zig, html, css/tailwind, js/ts/jsx/tsx...
Per installare i language, linter, formatter... di mason, eseguire (in normal mode): `:Mason` questo aprirà la sui ui e con ctrl+f potrete scrivere il vostro linguaggio e vi usciranno i pacchetti consigliati, una volta trovato quello giusto usando "I".
Per installare un language server per LSP eseguire (in normal mode): `:LspInstall `.
Una volta installato il linguaggio creare nella cartella language/ un file con "linguaggio.lua", creare la configurazione, aggiungere il nome del file creato nella tabella "languages" contenuta nel file lspconfig.lua, la configurazione farà il resto.
## Keymaps
In questa configurazione sono stati creati dei keymaps per velocizzare il richiamo delle funzioni, in seguito troverai una tabella con: keymaps | descrizione.
leader = spazio
| Keymaps | Descrizione |
| :---------- | :---------------------------------------: |
| leader + mp | Formatta il file |
| leader + th | Apre il theme switcher di themery |
| Ctrl + n | Apre il file system di neotree a sinistra |
| Alt + n | Chiude il file system di neotree |
| Ctrl + p | Apre il trova file di telescope |
| Ctrl + fg | Apre il live grep di telescope |
| Ctrl + f | Apre il trova parole di telescope |
| Ctrl + f | Apre il trova parole di telescope |
| Ctrl + a | Seleziona il tutto file |
| Ctrl + c | Copia del testo selezionato |
| Ctrl + v | Incolla del testo selezionato |
| Ctrl + t | Apre il terminale |
| Alt + Up | Sposta una riga in su (freccia up) |
| Alt + down | Sposta una riga in basso (freccia bassa) |
| leader + ca | Apre il 'code action' di LSP |
SPECIALI PER LSP
per queste bisogna trovarsi sopra il nome di una funzione.
| Keymaps | Descrizione |
| :------ | :----------------------: |
| gD | Vai alla dichiarazione |
| gd | Vai alla definizione |
| gi | Vai alla implementazione |