{"id":26711478,"url":"https://github.com/mattiap7/nvim-configuration","last_synced_at":"2025-03-27T10:28:39.171Z","repository":{"id":252252847,"uuid":"839550946","full_name":"MattiaP7/nvim-configuration","owner":"MattiaP7","description":"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\"","archived":false,"fork":false,"pushed_at":"2025-02-08T13:12:51.000Z","size":41,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-08T14:22:55.424Z","etag":null,"topics":["configuration","lua","neovim"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MattiaP7.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-07T21:03:21.000Z","updated_at":"2025-01-28T17:25:03.000Z","dependencies_parsed_at":"2024-09-07T14:44:10.118Z","dependency_job_id":"19831497-1a66-4c50-8b94-d52f89502b77","html_url":"https://github.com/MattiaP7/nvim-configuration","commit_stats":null,"previous_names":["mattiap7/nvim-configuration"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MattiaP7%2Fnvim-configuration","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MattiaP7%2Fnvim-configuration/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MattiaP7%2Fnvim-configuration/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MattiaP7%2Fnvim-configuration/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MattiaP7","download_url":"https://codeload.github.com/MattiaP7/nvim-configuration/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245825996,"owners_count":20678696,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["configuration","lua","neovim"],"created_at":"2025-03-27T10:28:38.659Z","updated_at":"2025-03-27T10:28:39.166Z","avatar_url":"https://github.com/MattiaP7.png","language":"Lua","readme":"# Neovim Configuration per Windows\n\nQuesta è 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.\n\n## Pre requisiti\n\nPrima di procedere, assicurati di avere i seguenti strumenti installati:\n\n- **\u003ca target=\"_blank\" href=\"https://neovim.io/\"\u003eNeovim\u003c/a\u003e**: Assicurati di avere l'ultima versione di Neovim installata. Puoi verificarlo eseguendo `nvim --version` nel terminale.\n- **\u003ca target=\"_blank\" href=\"https://git-scm.com/\"\u003eGit\u003c/a\u003e**: Per clonare il repository.\n- **\u003ca href=\"https://github.com/ryanoasis/nerd-fonts/releases\" target=\"_blank\"\u003eNerd Font\u003c/a\u003e**: Come font del terminale.\n  - Assicurarsi che il nome del font non termini con \"Mono\" altrimenti le icone saranno piccole.\n- **\u003ca href=\"https://nodejs.org/en\" target=\"_blank\"\u003eNodejs\u003c/a\u003e**: Per il supporto ai plugin che richiedono Node.js.\n- **\u003ca target=\"_blank\" href=\"https://github.com/BurntSushi/ripgrep\"\u003eRipgrep\u003c/a\u003e** per la ricerca \"grep\" con Telescope.\n- Make, **\u003ca href=\"https://sourceforge.net/projects/gnuwin32\" target=\"_blank\"\u003eGnuWin32\u003c/a\u003e** installato e settato on path.\n- **\u003ca target=\"_blank\" href=\"https://winlibs.com/\"\u003eMingw\u003c/a\u003e** installato e settato on path.\n- **\u003ca target=\"_blank\" href=\"https://github.com/llvm/llvm-project/releases\"\u003eClang\u003c/a\u003e** installato e settato on path (consiglio LLVM-version-win64.exe)\n- Clangd, io l'ho installato tramite scoop.\n\n## Installazione:\n\nSegui questi passaggi per installare e configurare Neovim con questa configurazione:\n\n1. **Clona la Repository**\n\n   Apri il terminale e clona la repository:\n\n   - cmd\n\n   ```bash\n   git clone https://github.com/MattiaP7/nvim-configuration %USERPROFILE%\\AppData\\Local\\nvim\n   ```\n\n   - Powershell\n\n   ```bash\n   git clone https://github.com/MattiaP7/nvim-configuration $env:LOCALAPPDATA\\nvim\n   ```\n\n   ricorda di eliminare la cartella `.git`.\n\n\u003cdetails\u003e\n\n\u003csummary\u003ela struttura quindi della cartella `~/AppData/Local/nvim`\u003c/summary\u003e\n\n```\n~/AppData/Local/nvim\n│   init.lua\n│   lazy-lock.json\n│   README.md\n│\n└───lua\n    │   .luarc.json\n    │   options.lua\n    │   plugins.lua\n    │\n    └───plugins\n        │   (tutti i plugins qui dentro)\n        │\n        └───lsp\n            │ (tutti i plugins per lsp)\n            │\n            └───language\n                    (ogni config per i linguaggi qua dentro)\n```\n\n\u003c/details\u003e\n\u003cbr /\u003e\n\n3. **Installare i plugin**\n\n   Spostarsi nella cartella `~/AppData/Local/nvim` eseguire il comando:\n\n   ```bash\n    nvim\n   ```\n\nautomaticamente 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.\n\n\u003e [!CAUTION]\n\u003e è 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.\n\n\u003e [!WARNING]\n\u003e ricorda che per installare vim-doge, devi eseguire il comando: `:call doge#install()`\n\n\u003e [!CAUTION]\n\u003e 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)\n\n4. **Lsp e Mason**\n\n- documentazione **\u003ca href=\"https://github.com/williamboman/mason.nvim\" target=\"_blank\"\u003eMason\u003c/a\u003e**\n- documentazione **\u003ca href=\"https://github.com/williamboman/mason-lspconfig.nvim\" target=\"_blank\"\u003eMason-lspconfig\u003c/a\u003e**\n- documentazione **\u003ca target=\"_blank\" href=\"https://github.com/neovim/nvim-lspconfig\"\u003envim-lspconfig\u003c/a\u003e**\n\nDi 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...\n\nPer 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\".\n\nPer installare un language server per LSP eseguire (in normal mode): `:LspInstall \u003clinguaggio\u003e`.\nUna 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.\n\n## Keymaps\n\nIn questa configurazione sono stati creati dei keymaps per velocizzare il richiamo delle funzioni, in seguito troverai una tabella con: keymaps | descrizione.\n\nleader = spazio\n\n| Keymaps     |                Descrizione                |\n| :---------- | :---------------------------------------: |\n| leader + mp |             Formatta il file              |\n| leader + th |     Apre il theme switcher di themery     |\n| Ctrl + n    | Apre il file system di neotree a sinistra |\n| Alt + n     |     Chiude il file system di neotree      |\n| Ctrl + p    |      Apre il trova file di telescope      |\n| Ctrl + fg   |      Apre il live grep di telescope       |\n| Ctrl + f    |     Apre il trova parole di telescope     |\n| Ctrl + f    |     Apre il trova parole di telescope     |\n| Ctrl + a    |          Seleziona il tutto file          |\n| Ctrl + c    |        Copia del testo selezionato        |\n| Ctrl + v    |       Incolla del testo selezionato       |\n| Ctrl + t    |             Apre il terminale             |\n| Alt + Up    |    Sposta una riga in su (freccia up)     |\n| Alt + down  | Sposta una riga in basso (freccia bassa)  |\n| leader + ca |       Apre il 'code action' di LSP        |\n\n\u003ch4\u003eSPECIALI PER LSP\u003c/h4\u003e\n\nper queste bisogna trovarsi sopra il nome di una funzione.\n\n| Keymaps |       Descrizione        |\n| :------ | :----------------------: |\n| gD      |  Vai alla dichiarazione  |\n| gd      |   Vai alla definizione   |\n| gi      | Vai alla implementazione |\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattiap7%2Fnvim-configuration","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmattiap7%2Fnvim-configuration","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattiap7%2Fnvim-configuration/lists"}