توفر إضافة 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.