استدعاء وظيفة في أمر VIM 'Autocmd`
سؤال
اريد استخدام expand
وظيفة في autocmd
. على وجه الخصوص ، أقوم بتكييف ملف تلميح بقلم بول بيججار وأردت استخدام القيادة التلقائية التالية في بلدي .gvimrc
:
autocmd FileType tex set makeprg=rubber-info\ expand("%:t:r").log
- أي بالطبع لا يعمل. إذن ما أريده فعلاً أن يعني ذلك هو ذلك عند فتح أ tex
ملف ، و makeprg
يتم تعيين المتغير على قيمة rubber-info filename.log
أين filename
هو اسم ملف Tex بدون ملحق ملفه.
كيف يمكنني تحقيق ذلك؟
المحلول
يمكنك تجربة شيء مثل هذا ؛ لم يتم اختباره ، قد لا يكون صحيحًا تمامًا ، ولكن باستخدام exe
عمومًا كيف أتجول في هذا النوع من المشكلات.
autocmd FileType tex exe "set makeprg=rubber-info\\ " . expand("%:t:r") . ".log"
نصائح أخرى
البديل هو ضبط makeprg
استخدام &l:makeprg
:
autocmd FileType tex let &l:makeprg = "rubber-info " . expand("%:t:r") . ".log"
يرى :help let-&
إذا كنت تريد المزيد من المعلومات حول خيارات الإعدادات باستخدام :let
.
لا تنتمي إلى StackOverflow