Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

Persönliche, mit GNU Stow verwaltete Konfigurationen für Neovim und Ghostty. Jedes Programm liegt in einem eigenen Paket, dessen Verzeichnisstruktur das Home-Verzeichnis abbildet.

Pakete

.
├── nvim/
│   └── .config/nvim/
│       ├── init.lua
│       └── nvim-pack-lock.json
├── ghostty/
│   └── .config/ghostty/config
├── AGENTS.md
├── Brewfile
└── README.md

Neovim

Funktionen

  • Vim-Keybindings mit Space als Leader-Taste
  • kontextabhängige Tastenkürzel-Hilfe mit which-key
  • Datei-, Text-, Symbol- und Git-Suche mit fzf-lua
  • Treesitter-Highlighting für PHP, JavaScript, TypeScript, TSX, Vue, JSON, HTML, CSS, Lua und Markdown
  • LSP-Navigation und Diagnosen mit Intelephense, vtsls und Vue Language Server
  • automatische helle und dunkle Nightfox-Variante entsprechend macOS
  • Git-Hunks mit Gitsigns und vollständige Diffs mit Diffview
  • Dateiverwaltung mit Oil
  • automatisches Neuladen extern geänderter Dateien

Tastenkürzel

Space bezeichnet im Folgenden die Leader-Taste. Space drücken und kurz warten, um die möglichen Folgetasten mit which-key anzuzeigen.

Projekt-Navigation

Taste Aktion
Space f f Dateien suchen
Space f g Text im Projekt suchen
Space f b offene Buffer suchen
Space f h Neovim-Hilfe durchsuchen
Space f k alle Tastenkürzel durchsuchen
Space f r zuletzt verwendete Dateien

LSP

Taste Aktion
gd zur Definition springen
K Dokumentation anzeigen
grr Referenzen anzeigen
grn Symbol umbenennen
gra Code Actions anzeigen
Space d s Symbole der aktuellen Datei suchen
Space w s Symbole des Projekts suchen
[d / ]d vorherige/nächste Diagnose
Ctrl-w d Diagnose am Cursor anzeigen

Git

Taste Aktion
Space g s geänderte Dateien suchen
Space g c Commits durchsuchen
Space g b Commits der aktuellen Datei durchsuchen
[c / ]c vorherige/nächste Git-Änderung
Space h p aktuelle Änderung als Vorschau anzeigen
Space h b Blame der aktuellen Zeile anzeigen
Space h d aktuellen Buffer mit Git vergleichen
Space g d Projekt-Diff mit Diffview öffnen
Space g h Dateiverlauf mit Diffview öffnen

Diffview wird mit :DiffviewClose geschlossen.

Dateien mit Oil verwalten

Taste Aktion
- Verzeichnis der Datei öffnen beziehungsweise nach oben wechseln
Enter Datei oder Verzeichnis öffnen
g? Oil-Hilfe anzeigen

Oil stellt ein Verzeichnis als editierbaren Buffer dar. Umbenennungen oder andere Dateioperationen werden erst mit :write angewendet.

Farbschema

Beim Start und nach einem Fokuswechsel wird das macOS-Erscheinungsbild geprüft:

  • hell: dayfox
  • dunkel: nightfox

Eine Variante kann für die aktuelle Sitzung manuell gewählt werden:

:colorscheme dayfox
:colorscheme nightfox

Ghostty

Die Ghostty-Konfiguration enthält:

  • Catppuccin Frappe im dunklen und Catppuccin Latte im hellen macOS-Modus
  • Shell-Integration ohne Cursor-, sudo- und Titeländerungen
  • Navigation mit Cmd-Links/Rechts und Alt-Links/Rechts
  • Compose-Tastenkürzel für deutsche Umlaute und ß
  • erweiterten Scrollback

Ghostty liest die verlinkte Konfiguration bei einem normalen Reload oder beim nächsten Start ein. Die Anwendung wird durch die Installation nicht neu gestartet.

Voraussetzungen

  • macOS
  • Neovim 0.12 oder neuer
  • Git
  • Node.js und npm für die Language Server
  • C-Compiler, curl und tar für Treesitter-Parser
  • Homebrew

Alle verwalteten Pakete stehen im Brewfile und können mit brew bundle installiert werden.

Falls noch kein C-Compiler vorhanden ist, können die Command Line Tools mit xcode-select --install installiert werden.

Installation

Vorhandene Konfigurationen zuerst sichern:

mv ~/.config/nvim ~/.config/nvim.backup
mv ~/.config/ghostty ~/.config/ghostty.backup

Repository klonen, Abhängigkeiten installieren und Pakete verlinken:

git clone git@github.com:djschilling/dotfiles.git ~/projects/dotfiles
cd ~/projects/dotfiles
brew bundle
stow --target="$HOME" nvim ghostty

Ein einzelnes Paket kann unabhängig aktiviert oder entfernt werden:

stow --target="$HOME" nvim
stow --target="$HOME" --delete ghostty

Beim ersten Start installiert vim.pack die Plugins. Treesitter kompiliert die benötigten Parser und Mason installiert Intelephense, vtsls und den Vue Language Server. Nach der ersten Installation Neovim einmal neu starten.

Plugins und Werkzeuge aktualisieren

Plugin-Updates prüfen und anschließend im angezeigten Bestätigungsbuffer mit :write übernehmen:

:lua vim.pack.update()

Nach einem Treesitter-Update auch die Parser aktualisieren:

:TSUpdate

Installierte Language Server können mit :Mason betrachtet und aktualisiert werden. Änderungen an nvim-pack-lock.json sollten zusammen mit der Konfiguration committed werden.

Dateien im Repository

  • nvim/.config/nvim/init.lua: vollständige Neovim-Konfiguration
  • nvim/.config/nvim/nvim-pack-lock.json: Plugin-Revisionsstände
  • ghostty/.config/ghostty/config: Ghostty-Konfiguration
  • Brewfile: Systempakete und Anwendungen
  • AGENTS.md: Wartungsregeln für AI-Agents

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages