vim-projectionist par Tim Pope offre une navigation granulaire dans les projets, le saut vers les fichiers alternatifs (:A) et des squelettes de fichiers automatiques.
Configuration de Base (.projectionist.json)
Placez .projectionist.json à la racine de votre projet :
{
"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);",
" });",
"});"
]
}
}
Commandes de Navigation de Fichiers Alternatifs
| Commande | Action |
|---|---|
:A |
Éditer le fichier alternatif dans la fenêtre actuelle |
:AS |
Éditer le fichier alternatif dans une séparation horizontale |
:AV |
Éditer le fichier alternatif dans une séparation verticale |
:AT |
Éditer le fichier alternatif dans un nouvel onglet |
:AD |
Lire le modèle dans le tampon vide actuel |
Commandes de Projet et Navigation Racine
| Commande | Action |
|---|---|
:Cd |
Changer le répertoire de travail vers la racine du projet |
:Cd {path} |
Changer de répertoire vers un chemin relatif sous la racine |
:Lcd |
Changement de répertoire local (:lcd) vers la racine |
:ProjectDo {cmd} |
Exécuter une commande shell depuis la racine du projet |
Commandes de Types Personnalisés
Définir "type": "model" génère les commandes :Emodel, :Smodel, :Vmodel et :Tmodel :
{
"app/models/*.rb": {
"type": "model",
"alternate": "spec/models/{}_spec.rb"
}
}
Exécutez :Emodel user pour sauter directement à app/models/user.rb.