سؤال

اريد استخدام 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.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top