vim-projectionist von Tim Pope bietet granulare Projektnavigation, Springen zu Alternativdateien (:A) und automatisierte Dateigerüste.
Basiskonfiguration (.projectionist.json)
Legen Sie .projectionist.json im Hauptverzeichnis Ihres Projekts ab:
{
"src/*.js": {
"alternate": "test/{}.test.js",
"type": "source"
},
"test/*.test.js": {
"alternate": "src/{}.js",
"type": "test",
"template": [
"import { describe, it, expect } from 'vitest';",
"",
"describe('{}', () => {",
" it('works', () => {",
" expect(true).toBe(true);",
" });",
"});"
]
}
}
Befehle zur Navigation alternativer Dateien
| Befehl | Aktion |
|---|---|
:A |
Alternative Datei im aktuellen Fenster bearbeiten |
:AS |
Alternative Datei in horizontalem Split bearbeiten |
:AV |
Alternative Datei in vertikalem Split bearbeiten |
:AT |
Alternative Datei in neuem Tab bearbeiten |
:AD |
Vorlage in den aktuellen leeren Puffer einlesen |
Projektbefehle & Root-Navigation
| Befehl | Aktion |
|---|---|
:Cd |
Arbeitsverzeichnis zum Projekt-Root wechseln |
:Cd {path} |
Verzeichnis zu relativem Pfad unter Root wechseln |
:Lcd |
Lokales Verzeichnis (:lcd) zum Root wechseln |
:ProjectDo {cmd} |
Shell-Befehl vom Projekt-Root ausführen |
Benutzerdefinierte Typbefehle
Das Definieren von "type": "model" erstellt die Befehle :Emodel, :Smodel, :Vmodel und :Tmodel:
{
"app/models/*.rb": {
"type": "model",
"alternate": "spec/models/{}_spec.rb"
}
}
Führen Sie :Emodel user aus, um direkt zu app/models/user.rb zu springen.