vim-projectionist di Tim Pope offre navigazione granulare di progetto, salto a file alternativi (:A) e template automatici di scheletri file.
Configurazione di Base (.projectionist.json)
Posiziona .projectionist.json nella radice del tuo progetto:
{
"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);",
" });",
"});"
]
}
}
Comandi di Navigazione File Alternativi
| Comando | Azione |
|---|---|
:A |
Modifica il file alternativo nella finestra corrente |
:AS |
Modifica file alternativo in una divisione orizzontale |
:AV |
Modifica file alternativo in una divisione verticale |
:AT |
Modifica file alternativo in una nuova scheda |
:AD |
Leggi il template nel buffer vuoto corrente |
Comandi di Progetto e Navigazione Root
| Comando | Azione |
|---|---|
:Cd |
Cambia directory di lavoro nella radice del progetto |
:Cd {path} |
Cambia directory nel percorso relativo sotto la root |
:Lcd |
Cambio directory locale (:lcd) alla root |
:ProjectDo {cmd} |
Esegui comando shell dalla radice del progetto |
Comandi di Tipo Personalizzato
La definizione di "type": "model" crea i comandi :Emodel, :Smodel, :Vmodel e :Tmodel:
{
"app/models/*.rb": {
"type": "model",
"alternate": "spec/models/{}_spec.rb"
}
}
Esegui :Emodel user per saltare direttamente ad app/models/user.rb.