یکی از اصلی ترین ابزارهای برنامه نویسان برای توسعه نرم افزار، ویرایشگر یا IDE می باشد. امروزه ویرایشگرهای زیادی وجود دارد که هر کدام مزایا و معایب خود را دارند. بنابراین شناخت این ویرایشگر ها و ویژگی های آن ها اهمیت فراوانی برای برنامه نویسان دارد و باعث راحت تر شدن کار آن ها می شود. هنگامی که با توزیع های لینوکس مختلف کار می کنیم، وظایف مختلفی وجود دارند که برای کار بر روی آن ها نیازمند یک ویرایشگر متنی یا همان کد ادیتور هستیم. کارهایی از جمله برنامه نویسی، اسکریپت نویسی، ویرایش متن یا پیکربندی فایل ها و بسیاری از موارد دیگر نیازمند ویرایش هستند. می توان چندین ویرایشگر متنی محبوب را در محیط سیستم عامل لینوکس خود استفاده و نصب کرد. معروف ترین و کهنه کار ترین ویرایشگر متن لینوکس، ویرایشگر Vim می باشد. در برخی موارد، Vim تنها گزینه برای برنامه نویس است که در این مقاله به بررسی آن میپردازیم.
ویرایشگر ویم یکی از ویرایشگرهای پرطرفدار است که امروزه بسیاری از کاربران از آن استفاده می کنند. این ویرایشگر مخفف Vi Improved است و نوعی ویرایشگر متن منبع باز بوده که توسط Bram Moolenaar ایجاد شده است. این ویرایشگر متن در ابتدا در سال 1991 برای انواع سیستم عامل یونیکس منتشر شد، هدف اصلی Vim بهبود و گسترش عملکرد ویرایشگر Vi بود که در سال 1976 ایجاد شد. برخلاف سایر ویرایشگرهای متن قبل از خود، ویم پشتیبانی جامعی از رابط های مبتنی بر متن و گرافیکی ارائه می دهد و آن را در پلتفرم های مختلف قابل دسترسی می سازد. ویرایشگر Vim به طور سنتی دارای محیط گرافیکی یاGUI نمی باشد، اما به تازگی نسخه جداگانه ای به نام gVim ایجاد شده که محیط گرافیکی برای این ویرایشگر فراهم می کند. Vim نوعی ویرایشگر متن همه کاره و قدرتمند است که عمدتاً در سیستم های مبتنی بر یونیکس مانند لینوکس،BSD و macOS استفاده می شود. این ویرایشگر به سرعت و کارایی شهرت دارد و تا حدی به دلیل ماهیت سبک وزن آن است که آن را قادر می سازد در محیط ترمینال به راحتی کار کند.
ویرایشگر Vim یا Vi یکی از پیشرفته ترین ویرایشگرهای متن در محیط ترمینال میباشد، یکی از ویژگی های سیستم عامل های Unix-Like این هست که قابلیت ویرایش تمامی فایل های سیستمی در زمان کار سیستم و توسط یک ویرایشگر ساده متنی برای کاربر وجود دارد،بر خلاف سیستم عامل ویندوز این فایل ها براحتی توسط کاربر root قابل فراخوانی و ویرایش هستند. در نتیجه آشنایی با ویرایشگر های متنی یکی از اصول مدیریت سرور های لینوکسی است و داشتن یک Editor خوب و قدرتمند میتواند یک کمک بسیار مفیدی برای مدیران و کاربران لینوکسی باشد، ویرایشگرهای متنی زیادی برای سیستم عامل های لینوکسی
مانندVim ،gEdit ،Nano ،gVim و Emacs وجود دارد که در این میان ویرایشگر Vim در رده بندی محبوب ترین و پر کاربرد ترین آنهاست.
مزایا و دلایل استفاده از ویرایشگر VIMرا میتوان به موارد زیر تقسیم بندی کرد:
1. این نرم افزار در هر سیستمی قابل نصب است.
2. قابلیت شخصی سازی بالایی دارد و از یک فایل متنی ساده برای ذخیره این تنظیمات استفاده می کند.
3. ویرایشگر پیش فرض است یعنی Vim به طور گسترده در بسیاری از سیستم ها در دسترس و از پیش نصب شده است، به این معنی که می توانید بدون نیاز به یادگیری ویرایشگر جدید، بین ماشین های مختلف جابه جا شوید.
4. رویکرد فرماندهی محور دارد، طراحی فرمان محور Vim به شما اجازه می دهد تا کارهای پیچیده دست کاری متن را تنها با چند دستور خوب انجام دهید. هنگامی که با مجموعه دستورات آن آشنا شدید، می توانید به کارایی قابل توجهی در ویرایش گردش کار دست یابید.
5. می توانید از آن در دو حالت ترمینالی و گرافیکی استفاده کنید.
6. مقدار خیلی کمی از حافظه دستگاه شما را اشغال می کند.
7. مصرف حافظه کمی دارد، Vim علیرغم ویژگی های قدرتمندی که دارد، کمترین تأثیر را بر منابع سیستم دارد و آن را به انتخابی کارآمد، به ویژه برای ماشین های قدیمی یا با محدودیت منابع تبدیل می کند.
8. مقیاس پذیری مناسبی ارائه میدهد، Vim می تواند برای اهداف مختلفی همچون ویرایش فایل های پیکربندی ساده گرفته تا ابزاری جامع برای نوشتن اسناد یا کدهای پیچیده استفاده شود.
9. از قابلیت چند پنجره ای پشتیبانی می کند. با استفاده از این ویژگی می توان صفحه نمایش را به چندین پنجره تقسیم کرد.
10. دستورات Vim به سادگی به حافظه سپرده می شوند. بسیاری از دستورات Vim ساده بوده و یادگیری آن ها به زمان کمی نیاز دارد. همچنین از اکثر زبان های برنامه نویسی پشتیبانی می کند.
11. قابلیت سفارشی سازی دارد، ادیتور ویم پیکربندی گسترده ای را ارائه داده و به کاربران امکان می دهد ویرایشگر را مطابق با نیازهای خاص خود تنظیم کنند. این ویرایشگر از فایل های متنی ساده برای ذخیره تنظیمات استفاده کرده و سفارشی سازی را ساده و در دسترس می کند.
با پذیرش Vim به یک محیط ویرایش متن فراگیر، مقیاس پذیر، منبع پسند، دستور محور و بسیار قابل تنظیم دسترسی پیدا می کنید که می تواند بهره وری و کارایی شما را در کارهای محاسباتی مختلف افزایش دهد. ویم یک ویرایشگر متن پرکاربرد و ویرایشگر پیش فرض در سیستم های POSIX است. در محیط های مختلف، از جمله سیستم عامل های تازه نصب شده، حداقل محیط های تعمیر سیستم، یا شرایطی که ویرایشگرهای دیگر غیرقابل دسترس هستند، در دسترس است. در حالی که ویرایشگرهای دیگر مانند GNU Nano یا Jove را می توان جایگزین کرد، ویم تقریباً به طور جهانی در سیستم های سراسر جهان وجود دارد. یکی از جنبه های قانع کننده Vim سطح بالای سفارشی سازی آن است که به شما امکان می دهد آن را مطابق با سبک برنامه نویسی و ترجیحات خود تنظیم کنید. حال با اینکه با Vim چیست و دلایل استفاده از آن آشنا شدیم در ادامه به بررسی دستور Vim خواهیم پرداخت.
توسعه دهندگان این ویرایشگر vimtutor را ایجاد کرده اند که راهنمایی ساده و تعاملی از اصول اولیه به حساب می آید. اگرچه Vim سرشار از پتانسیل است، فقط چند دکمه کنترلی در آن وجود دارد که برای استفاده از آن ها باید آموزش ببینیم. برای شروع و ورود به Vim، اگر قصد استفاده از نسخه ترمینال آن را داشته باشیم، داخل صفحه ترمینال عبارت Vim و سپس جلوی آن نام فایلی را تایپ می کنیم که نیاز به ویرایش دارد. Vim فایل نصبی کم حجم و سبکی دارد. نصب این نرم افزار بسیار ساده است. برای نصب Vim در ویندوز به هیچ پیش نیاز خاصی احتیاج نیست و نصب آن مانند نصب یک نرم افزار ساده است. توجه داشته باشید که در ویندوز شما gVim را نصب می کنید که یک نسخه گرافیکی از Vim است. دستور Vim به دستورات یا command متنی در ترمینال سیستم عامل گفته می شود که در محیط Vim قابل اجرا بوده و موجب انجام عملی از سوی سیستم می شود.
ویرایشگر Vim دستورات حرکتی بصری و حذف و ویرایش فرآیند همچون متن را ارائه می دهد که از مهم ترین آن ها می توان فهرست دستورات زیر را نام برد:
• hjkl به شما امکان می دهد به ترتیب به سمت چپ، پایین، بالا و راست حرکت کنید.
• 7j مکان نما را هفت خط به پایین می برد.
• w آن را یک کلمه به جلو می برد.
• ctrl + f یک صفحه را به پایین می برد.
• ctrl + b یک صفحه را به بالا، «gg» به بالای صفحه می رود.
• G به پایین حرکت می کند.
• dw یک کلمه را حذف می کند.
• d6w شش کلمه را حذف می کند.
• dt همه چیز را تا عبارت بعدی حذف می کند.
• di همه چیزهایی را که در داخل کروشه قرار دارند حذف می کند.
• dd خط فعلی را حذف می کند.
• 4dd چهار خط را حذف می کند.
• yy خط فعلی را کپی می کند.
• cc در خط فعلی تغییر می دهد و حذف می کند و وارد حالت درج می شود.
• cap کل پاراگراف را تغییر می دهد.
• عبارت نقطه آخرین دستور را تکرار می کند.
• f اولین وقوع یک نقل قول را پیدا می کند.
• yw کپی کردن یک کلمه
• yG کپی کردن تا انتهای فایل
معرفی بهترین پلاگین های VIM ، ما می توانیم با استفاده از پلاگین ها قابلیت های Vim را گسترش دهیم. Vim از پلاگین های زیادی پشتیبانی می کند که بیشتر این پلاگین ها رایگان هستند. در این بخش به معرفی تعدادی از پلاگین های کاربردی می پردازیم.
1. پلاگین DumpX برای پیاده کردن کدهای c++/c استفاده می شود.
2. پلاگین Pathogen برای مدیریت پکیج های ویم استفاده می شود.
3. پلاگین git-switcher.vim برای ذخیره و بارگیری فایل پروژه های Vim بر اساس تغییرات ایجاد شده در git branch می باشد.
4. پلاگین scrooloose/nerdtree درخت کاوشگر فایل که به شما امکان می دهد فایل های پروژه خود را پیمایش و مدیریت کنید.
5. پلاگین airblade/vim-gitgutter علائم git diff را در ناحیه ناودان نشان می دهد که خطوط اضافه، اصلاح شده و حذف شده را نشان می دهد.
6. پلاگین ervandew/supertab تکمیل برگه را برای نوشتن کد سریع تر بهبود می بخشد.
7. پلاگین vim-airline/vim-airline یک خط وضعیت از اطلاعات مختلفی را در مورد جلسه ویرایش شما نمایش می دهد.
8. پلاگین SirVer/ultisnips برای تسریع روند کار کدنویسی شما، از بسط های قطعه پشتیبانی می کند.
9. پلاگین honza/vim-snippets مجموعه ای از اسنیپت ها برای زبان های برنامه نویسی مختلف و انواع فایل ها
10. پلاگین dense-analysis/ale یک لینتر ناهمزمان قدرتمند که کد شما را در زمان واقعی برای خطاها و هشدارها بررسی می کند.
11. پلاگین tpope/vim-repeat عملکرد دستور “.” را برای تکرار اقدامات بیشتر گسترش می دهد.
12. پلاگین ap/vim-css-color کدهای رنگ را در فایل های CSS برجسته می کند و شناسایی و ویرایش رنگ ها را آسان تر می کند.
13. پلاگین jiangmiao/auto-pairs به طور خودکار پرانتزها، براکت ها و نقل قول های منطبق را هنگام تایپ درج می کند.
14. پلاگین tmhedberg/matchit کلید «%» را برای پرش بین تگ های HTML/XML، پرانتز و موارد دیگر تقویت می کند.
15. پلاگین kana/vim-textobj-user به شما امکان می دهد تا اشیاء متن سفارشی را برای انتخاب و دست کاری آسان تعریف کنید.
16. پلاگین vim-scripts/tComment کامنت گذاشتن و برداشتن نظر خطوط کد یا بلوک ها را آسان می کند.
17. پلاگین vim-colors-solarized ویم به طور پیش فرض دارای تعدادی تم می باشد. با این حال solarized یکی از تم های پرطرفدار برای اکثر برنامه نویسان است.
18. پلاگین Syntastic سینتکس کدهای موجود را بررسی می کند و خطاهای ایجاد شده را نمایش می دهد. لازم به ذکر است که Syntastic اکثر زبان های برنامه نویسی را پشتیبانی می کند.
19. پلاگین NERDTree یک فایل منیجر است که با استفاده از آن می توانید به راحتی فایل ها و پوشه های مختلف را مشاهده کرده و آن ها را به سادگی باز کنید.
20. پلاگین NERD Commenter ،اهمیت کامنت گذاری در نگهداری و زیبایی کدنویسی بر کسی پوشیده نیست، این پلاگین به شما در کامنت گذاری کمک می کند.
ویرایشگر متن قدرتمند و همه جا حاضر، با رویکرد دستور محور کارآمد خود، تجربه ویرایش منحصربه فردی را ارائه می دهد. با وجود منحنی یادگیری اولیه، تسلط بر Vim سرعت و بهره وری بی نظیری در کدنویسی به ارمغان می آورد. Vim با گزینه های سفارشی سازی گسترده اش، از جمله استفاده از افزونه ها و کلیدهای شخصی سازی شده، می تواند متناسب با اولویت های کدنویسی فردی طراحی شود. یادگیری Vim editor دنیایی از امکانات را به روی کاربران باز می کند، گردش کار کدنویسی را تغییر می دهد و امکان ویرایش متن کارآمد را فراهم می کند. توصیه می شود که سرعت و انعطاف بی نظیر Vim را تجربه کرده و سطح جدیدی از مهارت کدنویسی را باز کنید. به امید اینکه مطلب فوق در رابطه با اینکه Vim چیست مورد رضایت شما واقع شده باشد. درک اینکه Vim در لینوکس چیست و توانایی کار با آن توانایی بسیار جذاب و کاربردی است که برای کاربران فعال در حوزه فناوری اطلاعات اهمیت بالایی دارد.