یکی از اصلیترین ابزارهای برنامه نویسان برای توسعه نرم افزار، ویرایشگر (IDE) میباشد. امروزه ویرایشگرهای زیادی وجود دارد که هر کدام مزایا و معایب خود را دارند. بنابراین شناخت این ویرایشگرها و ویژگیهای آنها اهمیت فراوانی برای برنامه نویسان دارد و باعث راحتتر شدن کار آنها میشود.
معروفترین و کهنهکارترین ویرایشگر متن لینوکس، ویرایشگر Vim میباشد. در برخی موارد، Vim تنها گزینه برای برنامه نویس است. مثلا زمانی که بخواهیم در سرور لینوکس کانفیگ خاصی انجام دهیم. آنچه که این ویرایشگر را در برابر دیگر ویرایشگرها بسیار خاص میکند، قابلیت شخصی سازی بسیار بالای آن است.
ما در این مقاله، به معرفی و آموزش Vim میپردازیم و شما را با ویژگیها و ترفندهای مختلف آن آشنا میکنیم. اگه میخواهید در کار با یک ویرایشگر فوق العاده و متفاوت با سایر ویرایشگرها استاد شوید، تا انتهای مقاله با وب سایت آموزش برنامه نویسی سون لرن همراه باشید.
VIM چیست؟
ویرایشگر ویم یکی از ویرایشگرهای پرطرفدار است که امروزه بسیاری از کاربران از آن استفاده میکنند. Vim مخفف کلمه Vi Improved (Vi بهبود یافته) میباشد. نرم افزار Vim یک نرم افزار رایگان و اپن سورس است که توسط Bram Moolenaar نوشته شده است. این ویرایشگر اولین بار در سال ۱۹۹۱ برای انواع یونیکس منتشر شد. هدف اصلی از ساخت آن ارتقاء ویرایشگر Vi بود که در سال ۱۹۷۶ منتشر شده بود. Vim در واقع به عنوان کلونی از نرم افزار قدیمی Vi است. مانند Vi این ویرایشگر نیز خط فرمان محور بوده و مبتنی بر ترمینال میباشد. یکی از ویژگیهای بسیار خوب ویم در دسترس بودن آن در انواع مختلف سیستم عامل از جمله توزیعهای مختلف لینوکس، ویندوز و مک میباشد.
ویرایشگر Vim به طور سنتی دارای محیط گرافیکی (GUI) نمیباشد، اما به تازگی نسخه جداگانهای به نام gVim ایجاد شده که محیط گرافیکی برای این ویرایشگر فراهم میکند.
مزایای استفاده از ویرایشگر VIM چیست؟
در ادامه به برخی مزایای استفاده از Vim میپردازیم:
این نرم افزار در هر سیستمی قابل نصب است.
میتوانید از آن در دو حالت ترمینالی و گرافیکی استفاده کنید.
مقدار خیلی کمی از حافظه دستگاه شما را اشغال میکند.
خط فرمان محور است بنابراین شما میتوانید کارهای پیچیده را تنها با چند دستور انجام دهید.
قابلیت شخصی سازی بالایی دارد و از یک فایل متنی ساده برای ذخیره این تنظیمات استفاده میکند.
پلاگینهای خیلی زیادی برای vim وجود دارد که این پلاگینها باعث افزایش قابلیتها و کاربردهای این نرمافزار میشوند.
از قابلیت چند پنجرهای پشتیبانی میکند. با استفاده از این ویژگی میتوان صفحه نمایش را به چندین پنجره تقسیم کرد.
از ویژگی چند زبانهای (multiple tabe) پشتیبانی میکند که اجازه میدهد تا در چندین فایل کار کنید.
دستورات Vim به سادگی به حافظه سپرده میشوند. بسیاری از دستورات Vim ساده بوده و یادگیری آنها به زمان کمی نیاز دارد.
Vim فایل نصبی کم حجم و سبکی دارد. نصب این نرم افزار بسیار ساده است. برای نصب Vim در ویندوز به هیچ پیش نیاز خاصی احتیاج نیست و نصب آن مانند نصب یک نرم افزار ساده است. توجه داشته باشید که در ویندوز شما gVim را نصب میکنید که یک نسخه گرافیکی از Vim است. برای نصب این نرمافزار مراحل زیر را طی کنید:
۴- روی gvim82.exe کلیک کنید، سپس صبر کنید تا فایل نصبی دانلود شود.
۵- در نهایت فایل دانلود شده را مانند یک نرم افزار ساده میتوانید بر روی سیستم خود نصب کنید. توجه داشته باشید که در هنگام نصب، مانند تصویر زیر، حالت typical را به حالت full تغییر دهید.
پس از انجام عملیات نصب شما باید بتوانید Vim را بر روی خط فرمان ویندوز خود اجرا کنید. برای این کار ابتدا نرم افزار command prompt در ویندوز را باز کنید سپس مطابق تصویر بنویسید Vim.
پس از نوشتن کلمهی Vim و زدن کلید اینتر، ویم باز میشود و شما صفحهای مانند صفحه زیر را مشاهده میکنید.
قابلیتها و تنظیمات کد ادیتور VIM
همانطور که در قسمت قبل گفتیم ویرایشگر Vim در دو حالت گرافیکی و خط فرمان قابل استفاده است که حالت گرافیکی آن پس از آن که فایل نصبی را نصب کردیم به صورت زیر نمایش داده میشود.
حالت خط فرمان پس از تایپ کلمه vim در خط فرمان اجرا میشود.
در ادامه به توضیح قسمتهای مختلف این ویرایشگر در حالت گرافیکی میپردازیم.
همانطور که در تصویر دیدید در بالای صفحه نرمافزار تعدادی سربرگ و در پایین آن صفحه ویرایش کد قرار دارد.
اولین سربرگ، سربرگ file است که برای باز کردن فایل، ایجاد فایل جدید، ذخیره و... استفاده میشود.
پس از آن سربرگ edit قرار دارد که برای ویرایش متن و همچنین انجام تنظیمات مختلف بر روی ویرایشگر استفاده میشود.
مورد بعدی tools است که ابزارهای مختلفی مانند مدیریت ارورها، تنظیم کامپایلر و... ارائه میدهد.
پس از آن syntax قرار دارد که ابزارهای متنوعی جهت تنظیم سینتکس زبان برنامه نویسی، ویرایش رنگ نوشتار و ... دارد.
سربرگ Buffers حالتی است که در آن فایل مورد ویرایش در حافظه RAM قرار میگیرد و بدون ذخیره فایل میتوان یک فایل دیگر را در ویرایشگر باز کرد و بر روی آن ویرایش انجام داد. این سربرگ امکانات مختلفی برای این ویژگی ارائه میدهد.
در آخر سربرگ window و help قرار دارد که سربرگ window برای ایجاد، بستن و به طور کلی کار با پنجرههای این ویرایشگر میباشد.
help نیز گزینههای مختلفی جهت آشنایی بیشتر با این نرم افزار ارائه میدهد. یک نوار ابزار کوچک نیز در بین صفحه ویرایش کد و سربرگها قرار دارد که جهت دسترسی سریع به موارد پرکاربرد میباشد.
در ادامه مقاله آموزش Vim، به برنامه نویسی با این نرم افزار میپردازیم. همانطور که در بخشهای قبل گفتیم ویرایشگر ویم دارای دو حالت گرافیکی و خط فرمان میباشد. در ابتدای ورود به طور پیش فرض این نرمافزار روی حالت خط فرمان قرار دارد. با زدن کلید i این ویرایشگر بر روی حالت Insert قرار گرفته و پس از آن ما میتوانیم به طور معمول کدهای خود را بنویسیم و ویرایش کنیم. همچنین برای تغییر حالت ویرایشگر به حالت خط فرمان از کلید Esc استفاده میکنیم. برای باز کردن فایل در Vim از دستور vim filename در ترمینال سیستم خود استفاده میکنیم. در صورت موجود بودن، فایل باز میشود و در غیر این صورت پروژه جدیدی ایجاد میشود مانند: vim test
در ادامه آموزش Vim به معرفی تعدادی از دستورات پرکاربرد میپردازیم. توجه داشته باشید که برای وارد کردن هر دستور در ویرایشگر ویم در ابتدای دستور از علامت دو نقطه (:) استفاده میکنیم.
دستورات مربوط به حرکت در ویرایشگر VIM
برای حرکت در حالت خط فرمان میتوانید از کلیدهای زیر استفاده کنید:
H: به سمت چپ
J: به سمت پایین
K: به سمت بالا
L: به سمت راست
توجه داشته باشید که شما میتوانید با استفاده از فلشها در هر دو حالت حرکت کنید.
برخی دیگر از دستورات مربوط به حرکت عبارتند از:
۰ – رفتن به ابتدای خط
^ – رفتن به اولین کاراکتر غیر تهی خط
w – رفتن به کلمه بعدی
W – رفتن به کلمه بعدی (نشانهگذاریها را نادیده میگیرد مانند نقطه، ویرگول و غیره)
e – رفتن به آخر کلمه
E – رفتن به آخر کلمه (نشانهگذاریها را نادیده میگیرد)
b – رفتن به اول کلمه
B – رفتن به اول کلمه (نشانهگذاریها را نادیده میگیرد)
ge – رفتن به کاراکتر آخرِ کلمه قبلی
دستورات ویرایش در نرم افزار VIM
d – شروع عملیات پاک کردن (در واقع عملیات cut کردن را انجام میدهد، که میتوان آن را در مکانی دیگر paste کرد)
dd – پاک کردن خط (cut کردن خط)
dw – پاک کردن کلمه
d0 – پاک کردن تا اول خط
dgg – پاک کردن تا ابتدای فایل
dG – پاک کردن تا انتهای فایل
u – undo کردن آخرین عمل
Ctrl + r – redo کردن
r – جایگزین کردن کاراکتر جاری با کاراکتر جدید
جستجو در ویرایشگر ویم
text/ – برای جستجوی کلمه جای text قرار میگیرد
n – رفتن به نمونه بعدی در جستجو
N – رفتن به نمونه قبلی در جستجو
کپی کردن و جایگزینی در نرم افزار ویم
yy – کپی کردن خط
yw – کپی کردن یک کلمه
yG – کپی کردن تا انتهای فایل
p – عمل paste کردن بعد از نشانهگر
P – عمل paste کردن قبل از نشانهگر
ذخیره فایل و خروج در ویم
برای ذخیره کردن فایل برای اولین بار از w filename: استفاده میکنیم که filename نام فایل است. دفعات بعد برای ذخیره کردن از w: استفاده میکنیم. برای خروج از q: استفاده میکنیم. اگر که فایل خود را ذخیره نکرده باشیم، Vim به ما خطا میدهد و اگر قصد ندارید تا تغییراتی که در فایل دادهاید اعمال شود، از !q: استفاده کنید.
تلفیقی از دو دستور بالا هم دستوری پر کاربرد qw: میباشد که فایل را ذخیر و سپس از نرم افزار خارج میشود.
برای اینکه کار خود را آسانتر کنیم از ZZ استفاده میکنیم، که هم ذخیره میکند و هم از Vim خارج میشود.
در این بخش دستورات پرکاربرد در Vim را بیان کردایم. برای مشاهده لیست کامل دستورات ویرایشگر ویم کلیک کنید.
آموزش کار با VIM در لینوکس
نصب Vim در لینوکس بسیار سادهتر از ویندوز است. در این قسمت نصب و کانفیگ ویم در لینوکس مبتنی بر دبین بیان میشود. برای نصب Vim ابتدا در ترمینال دستورات زیر را وارد میکنیم:
$ sudo apt-get update
$ sudo apt-get install vim
برای اطمینان از نصب صحیح Vim دستور زیر را اجرا کنید:
$ which vim
باید محل باینر vim را نشان دهد، در این مثال:
/usr/bin/vim
نصب vim در لینوکس مبتنی بر RPM
برای این کار ابتدا دستور زیر را در ترمینال وارد میکنیم:
$ su -
$ yum install vim
مانند نمونه قبل برای اطمینان از نصب دستورزیر را وارد میکنیم:
$ which vim
باقی دستورات و عملکردها مشابه کار با ویم در ویندوز میباشد.
نحوه شخصی سازی VIM
ما میتوانیم مطابق با نیاز خود به شخصی سازی Vim بپردازیم و در آن تغییراتی ایجاد کنیم.
تغییر فونت در VIM
برای تغییر فونت در ویم از دستور زیر در حالت خط فرمان استفاده میکنیم:
:set guifont = courier
با زدن این دستور فونت vim به courier تغییر پیدا میکند. همچنین در gVim با رفتن به سربرگ edit و انتخاب گزینه select font میتوانیم فونت ویرایشگر را تغییر دهیم.
تغییر رنگ در VIM
برای تغییر رنگ دستور زیر را اجرا را میکنیم:
:colorscheme <tab>
سپس شما میتوانید از میان رنگهای موجود یکی را به دلخواه انتخاب کنید.
هایلایت کردن متن در VIM
برای هایلایت کردن کاراکترها بعد از ستونهای خاص مانند مثال زیر عمل میکنیم:
:match ErrorMsg /\%>73v.\+/
توضیح دستور بالا:
۱- \%> بعد از ستون
۲- 73 شماری ستون
۳- V فقط برای ستونهای مجاز کار کند
۴- .\+ مطالق با یک یا بیشتر از یک کاراکتر
اضافه کردن شماره خطها در VIM
برای اضافه کردن شماره خطها دستور زیر را اجرا میکنیم:
:set number
و برای غیر فعال سازی آن از:
:set nonumber
لستفاده میکنیم.
چک کردن املا در ویم
برای فعال سازی چک کردن املا کلمات از دستور زیر استفاده میکنیم:
:set spell
برای تنظیم زبان املا این دستور را به کار میبریم:
:set spelllang = <language>
برای مثال برای تنظیم زبان آلمانی:
:set spelllang = de
مخفف: با استفاده از مخفف سازی میتوان میانبرهایی برای رشتههای طولانی ایجاد کرد. برای مثال دستور زیر باعث ایجاد مخفف quick میشود.
:abbr quick the quick brown fox
اگر شما کلمه quick را تایپ کنید و سپس کلید tab را فشار دهید رشته “the quick brown fox” جایگزین میشود.
خط وضعیت: خط وضعیت خطی است که در پایین ویرایشگر نمایش داده میشود. برای فعال سازی آن دستور زیر استفاده میشود.
:set laststatus = 2
برای غیرفعال سازی خط وضعیت دستور زیر را اجرا میکنیم:
:set laststatus = 0
معرفی بهترین پلاگینهای VIM
ما میتوانیم با استفاده از پلاگینها قابلیتهای Vim را گسترش دهیم. Vim از پلاگینهای زیادی پشتیبانی میکند که بیشتر این پلاگینها رایگان هستند. در این بخش به معرفی تعدادی از پلاگینهای کاربردی میپردازیم.
۱- پلاگین DumpX: برای پیاده کردن کدهای c++/c استفاده میشود.
۲- پلاگین Pathogen:برای مدیریت پکیجهای ویم استفاده میشود.
۳- پلاگین git-switcher.vim: برای ذخیر و بارگیری فایل پروژهای Vim بر اساس تغییرات ایجاد شده در git branch میباشد.
۴- پلاگین NERDTree: یک فایل منیجر است که با استفاده از آن میتوانید به راحتی فایلها و پوشههای مختلف را مشاهده کرده و آنها را به سادگی باز کنید.
۵- پلاگین NERD Commenter: اهمیت کامنت گذاری در نگهداری و زیبای کدنویسی بر کسی پوشیده نیست، این پلاگین به شما در کامنت گذاری کمک میکند.
۶- پلاگین vim-colors-solarized: ویم به طور پیش فرض دارای تعدادی تم میباشد. با این حال solarized یکی از تمهای پرطرفدار برای اکثر برنامه نویسان است.
۷- پلاگین Syntastic: سینتکس کدهای موجود را بررسی میکند و خطاهای ایجاد شده را نمایش میدهد. لازم به ذکر است که Syntastic اکثر زبانهای برنامه نویسی را پشتیبانی میکند.
آموزش نصب پلاگین در VIM
در این بخش به توضیح چگونگی نصب پلاگین در Vim میپردازیم. یکی از روشهای نصب پلاگین در Vim، استفاده از پلاگین منیجر است. نرم افزار Vim پلاگین منیجرهای مختلفی دارد. در این آموزش ما برای نصب پلاگین، از منیجرها استفاده نمیکنیم. به جای آن از روش سادهتری برای این کار استفاده خواهیم کرد.
برای نصب پلاگین سه مرحله زیر را طی میکنیم:
۱-ساخت پوشهی vim/bundle. در پوشهی user's home
۲-کپی کردن پلاگین در داخل این پوشه
۳-تنظیم runtimepath در Vim
به عنوان مثال برای نصب پلاگین badwolf مراحل زیر را طی میکنیم. لازم به ذکر است که این پلاگین یک تم برای ویم است.
پس از طی این مراحل پلاگین نصب شده و ما میتوانیم از تم badwolf با استفاده از دستور زیر استفاده کنیم:
:colorscheme badwolf
بهروزرسانی پلاگین در ویم
اگر دقت کرده باشید، پلاگینها در واقع مجموعهای از فایلها و پوشهها در یک پوشه هستند. برای بهروزرسانی آنها تنها کافی است پوشه پلاگین را آپدیت کنیم.
حذف پلاگین در ویم
حذف پلاگین در Vim بسیار ساده است. برای این کار کافی است مرحله زیر را طی کنید:
۱- پوشه پلاگین در vim/bundle. را حذف کنید.
۲- runtimepath را به صورت مناسب تغییر دهید.
ترفندها و کلیدهای میانبر برای استفاده بهتر از VIM
در نرم افزار ویم ترفندها و کلیدهای وجود دارد که بسته به نیاز برنامه نویس، باعث راحتی کار او میشود. در اینجا به ذکر سه نمونه از این ترفندهای کاربردی میپردازیم.
استفاده از jk به جای esc
برای خروج از حالت Insert باید از کلید esc استفاده کنیم. این کلید به عنوان یک کلید پرکاربرد در vim فاصلهی زیادی با باقی دکمهها دارد. به جای این کلید میتوانیم از ترکیب کلید j و k به صورت پشت سر هم استفاده کنیم؛ به شرط اینکه کد زیر را در فایل vimrc اضافه کنیم.
cnoremap jk <C-C>
اضافه کردن تاریخ در فایل
در بسیاری از شرایط شما نیاز دارید که تاریخ را در فایل خود اضافه کنید. این کار میتواند خسته کننده و کند باشد. با اضافه کردن موارد زیر به vimrc شما میتوانید تاریخ و زمان را با فشار دادن کلید F3 به فایل خود اضافه کنید.
Vim از روش متفاوت با سیستم برای کپی کردن متن استفاده میکند. با اضافه کردن کد زیر به فایل vimrc متن کپی شده از Vim با کلید CTRL+V جایگزین میشود. متن کپی شده از جاهای دیگر با کلید p جایگذاری خواهد شد.
ویرایشگر Vim نرم افزاری کم حجم، با قابلیت بالا و کاربردی است که برنامه نویسان با یادگیری آن میتوانند به فرآیند توسعه نرمافزار خود سرعت ببخشند. این نرمافزار بخصوص در موقعیتهایی که استفاده از محیط گرافیکی برای توسعه نرمافزار ممکن نمیباشد و برنامه نویس ناچار به استفاده از محیط خط فرمان است، بسیار کارآمد میباشد.
در این مقاله سعی کردیم تا به زبان ساده به آموزش Vim بپردازیم و آموزش کاملی از Vim ارائه دهیم. شما میتوانید برای یادگیری بهتر Vim از سایت تعاملی openvim استفاده کنید.
در صورت استفاده از Vim، تجربهی خود را از این ویرایشگر محبوب در بخش نظرات با ما و دیگر کاربران سون لرن به اشتراک بگذارید. همچنین اگر ترفند یا پلاگین کاربردی دیگری برای این نرم افزار میشناسید، خوشحال میشویم آن را معرفی کنید.
سلام خسته نباشید. من میخواستم از copilot داخل vim استفاده کنم. همه چیز فعال شده ولی هیچ حدسی نمیزنه.
:Copilot setup رو زدم. مرورگر باز شده و کدها رو ثبت کنم الآن ظاهرا فعال شده ولی بازم کار نمیکنه.
Nazanin KarimiMoghaddam۱۴ آبان ۱۴۰۰، ۱۹:۳۷
درود
حقیقتا به شخصه باهاش کار نکردم، اما پاسخهای <a href="https://stackoverflow.com/questions/68253302/github-copilot-commands-not-working-and-showing-error" target="_blank" rel="noopener nofollow ugc">این لینک</a> احتمالا میتونه مشکلتون رو حل کنه.
۰۲ خرداد ۱۴۰۱، ۱۰:۵۲
با سلام
در صورتی که بخواین از copilot استفاده کنین به راحتی میتونین از neovim که یک فورک محبوب برای ویم هست استفاده کنین :)
علی۱۱ خرداد ۱۴۰۰، ۰۴:۱۵
واقعا عالی مرسی
ebrahim۰۵ اردیبهشت ۱۴۰۰، ۰۵:۳۱
خیلی عالی نکاتی را که باید برای شروع کار بدونیم را توضیح دادین . ممنون از زحماتتون.