vim-projectionist от Tim Pope обеспечивает удобную навигацию по проекту, быстрый переход к парным файлам (:A) и автоматические шаблоны файлов.
Базовая настройка (.projectionist.json)
Поместите файл .projectionist.json в корень вашего проекта:
{
"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);",
" });",
"});"
]
}
}
Команды перехода к альтернативным файлам
| Команда | Действие |
|---|---|
:A |
Открыть альтернативный файл в текущем окне |
:AS |
Открыть альтернативный файл в горизонтальном сплите |
:AV |
Открыть альтернативный файл в вертикальном сплите |
:AT |
Открыть альтернативный файл в новой вкладке |
:AD |
Вставить шаблон в текущий пустой буфер |
Команды проекта и навигация от корня
| Команда | Действие |
|---|---|
:Cd |
Сменить рабочую директорию на корень проекта |
:Cd {path} |
Перейти в поддиректорию относительно корня |
:Lcd |
Локальная смена директории окна (:lcd) на корень |
:ProjectDo {cmd} |
Выполнить команду shell из корня проекта |
Пользовательские команды типов
Объявление "type": "model" создает команды :Emodel, :Smodel, :Vmodel и :Tmodel:
{
"app/models/*.rb": {
"type": "model",
"alternate": "spec/models/{}_spec.rb"
}
}
Запустите :Emodel user, чтобы сразу перейти к app/models/user.rb.