vim-projectionist por Tim Pope fornece navegação granular no projeto, salto para arquivos alternativos (:A) e esqueletos automáticos de arquivos.
Configuração Básica (.projectionist.json)
Coloque o arquivo .projectionist.json na raiz do seu projeto:
{
"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);",
" });",
"});"
]
}
}
Comandos de Navegação de Arquivos Alternativos
| Comando | Ação |
|---|---|
:A |
Editar o arquivo alternativo na janela atual |
:AS |
Editar arquivo alternativo em divisão horizontal |
:AV |
Editar arquivo alternativo em divisão vertical |
:AT |
Editar arquivo alternativo em uma nova aba |
:AD |
Carregar o modelo no buffer vazio atual |
Comandos de Projeto e Navegação na Raiz
| Comando | Ação |
|---|---|
:Cd |
Mudar diretório de trabalho para a raiz do projeto |
:Cd {path} |
Mudar diretório para caminho relativo sob a raiz |
:Lcd |
Mudar diretório local (:lcd) para a raiz |
:ProjectDo {cmd} |
Executar comando shell a partir da raiz do projeto |
Comandos de Tipos Personalizados
Definir "type": "model" cria os comandos :Emodel, :Smodel, :Vmodel e :Tmodel:
{
"app/models/*.rb": {
"type": "model",
"alternate": "spec/models/{}_spec.rb"
}
}
Execute :Emodel user para saltar diretamente para app/models/user.rb.