{"id":27370693,"url":"https://github.com/vhstack/nvimpp","last_synced_at":"2025-04-13T09:18:59.263Z","repository":{"id":282845806,"uuid":"949824568","full_name":"vhstack/nvimpp","owner":"vhstack","description":"Minimal and efficient Neovim C++ Development Setup","archived":false,"fork":false,"pushed_at":"2025-04-12T09:26:29.000Z","size":2848,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-13T09:18:50.240Z","etag":null,"topics":["clangd","cpp","developer-tools","development","lsp","neogen","neovim","neovim-config","neovim-configuration","nerdtree","nvim","nvim-config","syntax-highlighting","telescope","treesitter"],"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/vhstack.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":"2025-03-17T07:44:22.000Z","updated_at":"2025-04-12T09:26:32.000Z","dependencies_parsed_at":"2025-03-17T09:25:32.550Z","dependency_job_id":"10f769a4-c3a5-4d47-a0fd-5c39b203ebbf","html_url":"https://github.com/vhstack/nvimpp","commit_stats":null,"previous_names":["vhstack/nvimpp"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vhstack%2Fnvimpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vhstack%2Fnvimpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vhstack%2Fnvimpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vhstack%2Fnvimpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vhstack","download_url":"https://codeload.github.com/vhstack/nvimpp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248688592,"owners_count":21145777,"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":["clangd","cpp","developer-tools","development","lsp","neogen","neovim","neovim-config","neovim-configuration","nerdtree","nvim","nvim-config","syntax-highlighting","telescope","treesitter"],"created_at":"2025-04-13T09:18:58.734Z","updated_at":"2025-04-13T09:18:59.253Z","avatar_url":"https://github.com/vhstack.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NeoVim C/C++ Development Setup\n\nDieses Repository enthält eine optimierte **NeoVim**-Konfiguration für die **C/C++-Entwicklung** \nmit leistungsstarken Plugins für Autovervollständigung, Syntaxhervorhebung, Git-Integration und mehr.\nDas Setup ist bewusst schlank gehalten – schnell startklar, fokussiert auf das Wesentliche und lässt sich leicht an \ndeine eigenen Bedürfnisse anpassen.   \nZusammen mit meinen anderen Projekten **[vhstack/tmuxpp](https://github.com/vhstack/tmuxpp)** und **[vhstack/termpp](https://github.com/vhstack/termpp)** \nbildet es eine perfekt abgestimmte Arbeitsumgebung, die dir eine nahtlose und effiziente Nutzung von Terminal, Tmux und Neovim ermöglicht.\n\n![Screenshot](assets/screenshot01.png)\n\n![Screenshot](assets/screenshot02.png)\n\n![Screenshot](assets/screenshot03.png)\n\n## 🚀 Features\n- **LSP-Unterstützung** für C/C++ mit automatischer Vervollständigung\n- **Syntax-Highlighting** mit Treesitter\n- **Git-Integration** direkt in NeoVim\n- **Erweiterte Datei-Navigation** mit Telescope und NeoTree\n- **Terminal-Integration** für reibungslose Entwicklungsabläufe\n\n## 📦 Installierte Plugins\n\n| Plugin | Beschreibung |\n|--------|-------------|\n| `telescope` | Erweiterte Fuzzy-Suche und Datei-Navigation |\n| `lsp` | Language Server Protocol (LSP) für C/C++-Unterstützung |\n| `mason` | Einfaches Management von LSP-Servern, Debuggern und Lintern |\n| `cmp` | Auto-Completion-Engine für besseren Code-Workflow |\n| `nullls` | Unterstützung für Formatierung und statische Analyse (Linter) |\n| `lualine` | Anpassbare Statusleiste für NeoVim |\n| `gitsigns` | Git-Integration mit Inline-Diff-Anzeige |\n| `treesitter` | Verbesserte Syntaxhervorhebung für C/C++ |\n| `toggleterm` | Integriertes Terminal in NeoVim |\n| `outline` | Anzeige der Symbolstruktur (z. B. Klassen, Funktionen) |\n| `autopairs` | Automatische Klammer- und Anführungszeichen-Paare |\n| `comments` | Einfaches Kommentieren von Codeblöcken |\n| `buffline` | Erweiterte Buffer-Navigation |\n| `blankline` | Visuelle Darstellung von Einrückungen |\n| `neotree` | Dateimanager für verbesserte Navigation |\n| `neogen` | Dokumentation Generator in Sourcen |\n| `dashboard` | Startbildschirm für NeoVim mit Schnellzugriff |\n| `whichkey` | Schnelle Anzeige von Tastenkombinationen |\n| `transparent` | Transparenz Modus für Farbschema |\n\n## 🎨 Themen\n\n**Installierte Farbthemen:**\n- kanagawa\n- onedark\n- glowbeam\n- catppuccin (catppuccin-latte, catppuccin-frappe, catppuccin-macchiato, catppuccin-mocha)\n\n**Standard-Theme:**  \nDas catppuccin-Farbschema und die Transparenz sind standardmäßig aktiviert. \n\n**Anpassungen:**  \nDiese Einstellungen können bei Bedarf in der Datei `.config/nvim/init.lua` angepasst werden.\nFarbschema: `vim.g.colorscheme`\nTransparenz: `vim.g.is_transparency_enabled`\n\n**Option für helle Themes:**  \nFans von hellen Themes können nutzen:\n`catppuccin-latte` (Variante von catppuccin) oder weitere Themes installieren.\n\n## 📥 Installation\n\n1. **NeoVim installieren** \n2. **Tool `regrep` installieren**\n3. **Für LSP `clangd` installieren**\n4. **Repository klonen \u0026 Git-Verzeichnis entfernen:**\n   ```sh\n   git clone https://github.com/vhstack/nvimpp ~/.config/nvim\n   rm -rf ~/.config/nvim/.git ~/.config/nvim/assets ~/.config/nvim/README.md\n   ```\n5. **Plugins synchronisieren** mit dem Plugin-Manager (`Packer`, `Lazy`, etc.)\n6. **LSPs \u0026 Tools installieren** über Mason (`:Mason` in NeoVim ausführen)\n\n```sh\n# Optional: Um clangd zu installieren, öffne Neovim und führe folgenden Befehl aus:\n:MasonInstall clangd cmake-language-server\n```\n\n## 🖥️ Terminal Schriftart\nEs wird empfohlen, eine Nerd Schriftart zu installieren, um eine optimale Darstellung von Symbolen und Glyphen im Terminal zu gewährleisten.\n\nNerd Schriftarten sind unter [Nerd Fonts](https://www.nerdfonts.com/) verfügbar. \n\nGute Schriftarten fürs Coden sind: **Cascadia**, **FiraCode**, **DejaVuSansM**, **Cousine**\n\n\n## 🛠 Konfiguration\n### LSP Unterstützung\nLSP Unterstützung kann in der Konfigurationsdatei `.config/nvim/init.lua` über die Variable `vim.g.is_lsp_enabled` aktiviert/deaktiviert werden.\n\n## ⌨  Grundlegende Tastenkombinationen\nDies ist eine Übersicht der wichtigsten Tastenkombinationen, die in meiner NeoVim-Konfiguration definiert sind. \nDie Tasten sind als Lua-Key-Mappings konfiguriert und decken eine Vielzahl von Funktionen ab, von der Navigation bis hin zu spezifischen Plugins.\nDiese Übersicht hilft dir, schnell die wichtigsten Befehle zu finden und zu nutzen.\n\n\n### Globale Leader Taste\n\n| Kürzel    | Bedeutung    |\n| --------- | ------------ |\n| `\u003cSpace\u003e` | Leader Taste |\n\n### F-Tasten\n\n| Kürzel  | Bedeutung                           |\n| ------- | ----------------------------------- |\n| `\u003cF5\u003e`  | Neogen-Dokumentation generieren     |\n| `\u003cF9\u003e`  | `make` ausführen                    |\n| `\u003cF10\u003e` | `make clean` \u0026 `make -j3` ausführen |\n| `\u003cF12\u003e` | Buffer schließen                    |\n\n### Navigation\n\n| Kürzel  | Bedeutung           |\n| ------- | ------------------- |\n| `\u003cC-k\u003e` | Fenster nach oben   |\n| `\u003cC-j\u003e` | Fenster nach unten  |\n| `\u003cC-h\u003e` | Fenster nach links  |\n| `\u003cC-l\u003e` | Fenster nach rechts |\n| `\u003cC-w\u003e` | Fenster wechseln    |\n\n### NeoTree\n\n| Kürzel       | Bedeutung                  |\n| ------------ | -------------------------- |\n| `\u003cleader\u003eE`  | NeoTree als Float anzeigen |\n| `\u003cleader\u003ee`  | NeoTree links anzeigen     |\n| `\u003cleader\u003egs` | Git-Status in NeoTree      |\n| `\u003cC-e\u003e`      | NeoTree links umschalten   |\n\n### Telescope\n\n| Kürzel             | Bedeutung                 |\n| ------------------ | ------------------------- |\n| `\u003cleader\u003e\u003cleader\u003e` | Zuletzt geöffnete Dateien |\n| `\u003cleader\u003eff`       | Dateien suchen            |\n| `\u003cleader\u003efw`       | Live-Grep-Suche           |\n| `\u003cleader\u003efb`       | Geöffnete Buffer          |\n| `\u003cleader\u003efh`       | Hilfetags durchsuchen     |\n| `\u003cC-f\u003e`            | Dateien suchen            |\n| `\u003cC-g\u003e`            | Live-Grep-Suche           |\n| `\u003cC-t\u003e`            | Buffer durchsuchen        |\n\n### Git (Telescope)\n\n| Kürzel       | Bedeutung    |\n| ------------ | ------------ |\n| `\u003cleader\u003egb` | Git-Branches |\n| `\u003cleader\u003egc` | Git-Commits  |\n| `\u003cleader\u003egd` | Git-Status   |\n\n### Kommentare\n\n| Kürzel      | Bedeutung            |\n| ----------- | -------------------- |\n| `\u003cleader\u003e/` | Kommentar umschalten |\n\n### Splits\n\n| Kürzel | Bedeutung           |\n| ------ | ------------------- |\n| `|`    | Vertikales Split   |\n| `\\`    | Horizontales Split |\n\n### Tabs\n\n| Kürzel    | Bedeutung               |\n| --------- | ----------------------- |\n| `\u003cTab\u003e`   | Nächsten Tab wechseln   |\n| `\u003cS-Tab\u003e` | Vorherigen Tab wechseln |\n| `\u003cc-right\u003e`   | Nächsten Tab wechseln   |\n| `\u003cc-left\u003e` | Vorherigen Tab wechseln |\n| `\u003cc-s-right\u003e`   | Tab nach rechts verschieben   |\n| `\u003cc-s-left\u003e` | Tab nach links verschieben |\n\n### Terminal\n\n| Kürzel       | Bedeutung             |\n| ------------ | --------------------- |\n| `\u003cleader\u003ett` | Terminal (Float)      |\n| `\u003cleader\u003eth` | Terminal (Horizontal) |\n| `\u003cleader\u003etv` | Terminal (Vertikal)   |\n\n### LSP\n\n| Kürzel       | Bedeutung                |\n| ------------ | ------------------------ |\n| `\u003cleader\u003elg` | Diagnostik in Quickfix   |\n| `\u003cleader\u003elG` | Diagnostik als Float     |\n| `\u003cc-d\u003e`      | Diagnostik mit Telescope |\n| `[d`         | Vorherige Diagnose       |\n| `]d`         | Nächste Diagnose         |\n| `\u003cleader\u003ela` | Code Aktionen            |\n| `\u003cleader\u003eld` | Zur Definition springen  |\n| `\u003cleader\u003elD` | Zur Deklaration springen |\n| `\u003cleader\u003elK` | Hover-Dokumentation      |\n| `\u003cleader\u003elr` | Referenzen anzeigen      |\n| `\u003cleader\u003elt` | Typdefinition anzeigen   |\n| `\u003cleader\u003elR` | Umbenennen               |\n| `\u003cleader\u003elf` | Formatieren              |\n| `K`          | Hover-Dokumentation      |\n| `t`          | Zur Definition springen  |\n| `T`          | Zur Deklaration springen |\n| `\u003cc-p\u003e`      | Zur Deklaration springen |\n| `\u003cc-o\u003e`      | Zurück springen          |\n\n### Sonstige\n\n| Kürzel       | Bedeutung                  |\n| ------------ | -------------------------- |\n| `\u003cleader\u003en`  | Zeilennummern umschalten   |\n| `Y`          | Ganze Zeile kopieren       |\n| `\u003cleader\u003ew`  | Datei speichern            |\n| `\u003cleader\u003ex`  | Buffer schließen           |\n| `\u003cleader\u003es`  | Buffer nach Tabs sortieren |\n| `\u003cleader\u003eh`  | Wort oder Auswahl farblich markieren  |\n| `\u003cleader\u003eH`  | Alle Markierungen zurücksetzen  |\n| `\u003cleader\u003eT`  | Transparenz umschalten     |\n| `\u003cleader\u003epl` | Lazy Plugins öffnen        |\n| `\u003cleader\u003epm` | Mason Plugins öffnen       |\n\n\n🎯 Schlusswort\n\nWenn du Ideen für neue Features hast oder das Projekt verbessern möchtest, \ndann fühl dich frei, es nach deinen Vorstellungen weiterzuentwickeln! \nViel Spaß und viel Erfolg beim Programmieren mit nvimpp! 💻🚀\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvhstack%2Fnvimpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvhstack%2Fnvimpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvhstack%2Fnvimpp/lists"}