GNU / LINUXVIM

چگونه برای کامپایل فایل‌ها یا اجرای اسکریپت‌ها در Vim کلید میانبر ایجاد کنیم؟

قبلا توی آموزش ویمی که ضبط کردم یک شیوه اجرای اسکریپت‌ها و … رو با کلید F5گفتم که با زدن اون کلید ترمینال جداگانه‌ای باز میشه و اسکریپت اجرا میشه و … . امروز یک راه بهتر رو براش معرفی خواهم کرد.

 

برای اینکار اول باید پلاگین asyncrun رو نصب کنید. شیوه نصب رو در قسمت نهم ویدیوهای آموزشی ویم توضیح دادم. این لینک صفحه گیت‌هاب این پلاگین هست.(اگه دوست داشتید بهش ستاره بدید).راهنمایی که نوشتم رو بخونید و بعد راهنما گیت هابش رو بخونید. خیلی کامل هست. صرفا برای شروع، شیوه اجرای اسکریپت بش و پایتون رو اینجا توضیح میدم. برای زبان‌های دیگه بعد از خوندن راهنمای من! به راهنمای خودش مراجعه کنید.

بعد از نصب پلاگین برای پایتون با این دستور میتونید اسکریپتتون رو در ویم اجرا کنید:

 

:AsyncRun -raw python %

که معنای % همون فایلی هست که در ویم باز کردید.

بهتر هست براش کلید میانبر یا شرتکات تعریف کنیم وبذاریمش توی vimrc که راحت باشیم. من F5 رو ترجیح میدم. باید F5 رو برای دستور بالا map کنم.

noremap <F5> :AsyncRun -raw python % <CR>

 

دستور بالا یک مشکل بزرگ داره! اگر فایل من زبان C بود و دوست داشتم همون F5 رو برای کامپایل زبان C بگذارم یا برای اجرای یک اسکریپت Bash بگذارم تکلیف چیه!؟

باید از autocmd و FileType برای شناخت فایل و اجرای هوشمند دستور بالا استفاده کنم. حالا دستور رو به شکل پایین تغییر میدیم:

:autocmd FileType python :noremap <F5> :AsyncRun -raw python % <CR> 

معنای خط بالا این هست که اگر فایل پایتون بود اون دستور رو اجرا کن.

نکته! باید بافر پایتون رو غیرفعال کنیم! برای اینکار این خط رو به vimrc اضافه کنید:

:let $PYTHONUNBUFFERED=1

حالا کار مشابهی هم برای اجرای اسکریپت های بش می‌کنیم:

:autocmd FileType sh  :noremap <F5> :AsyncRun bash % <CR>

 

با همین روند میتونید برای تمام زبان‌های مورد استفادتون دستور کامپایل یا اجرای اسکریپت بنویسید 🙂

 

حالا ما تمایل داریم که یک پنجره در پایین باز بشه و نتایج رو ببینیم! برای اینکار باید این خط رو به vimrc اضافه کنیم:

:let g:asyncrun_open = 8

 

برای بستن پنجره پایین میتونید با ctrl+w و دکمه جهت کیبرد روی اون پنجره برید و ببندیدش! من در ویم خودم کلیپ F12 رو برای بستن بافر اضافه کردم:

:map <F12> :bw!<CR> 

 

بعد از اضافه کردن اینها به vimrc میتونید با F5 اسکریپت خودتون رو اجرا کنید. برای فهمیدن جزئیات و توضیحات بیشتر لطفا به صفحه گیت هاب خود پروژه مراجعه کنید.

 

 

موفق باشید 🙂

6
دیدگاه بگذارید

avatar
4 Comment threads
2 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
3 Comment authors
علیرضا امیرصمیمیhamedbabagheybirealAminov Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
trackback

[…] Vim هستید ، این کدها را بعد از دیدن ویدیو اول و خوندن  این مقاله و نصب کردن AsyncRun در فایل vimrc خود قرار […]

hamedbabagheybi
مهمان
hamedbabagheybi

سلام آقای امیرصمیمی عزیز من طبق آموزش جلو رفتم و کد هایی که فرمودید رو وارد کردم لیکن ‍‍بعد از run کردن کد ارور command not found رو میده سیستم عامل من اوبونتو ممنون میشم راهنماییم کنید

realAminov
مهمان

فوق‌العاده بود ،واقعاً ازتون ممنونم 🙏🏻🌷❤️

trackback

[…] مقاله‌ای هست که جدیدا اضافه کردم با عنوان «چگونه برای کامپایل فایل‌ها یا اجرای اسکریپت‌ها در Vim ک…» این مقاله با ویدیوی پنجم مرتبط هست. حتما بخونیدش […]