تجربه مهاجرت به Vim

به نام خدادنیای ویرایشگران متن و به خصوص کد بسیار گسترده است. جنگ های زیادی در این دنیا به وقوع پیوسته و برنامه نویسان همواره با هم درباره اینکه کدام Code Editor بهتر است، مبارزه میکنند. در این مبارزه، یکی از ابرقدرت ها، Vim است. ویم ویرایشگری تحت کنسول است که برای سیستم های عامل زیادی توسعه یافته است. این ویرایشگر، نسخه پیشرفته شده Vi است. افراد زیادی از این ویرایشگر استفاده میکنند. کاربر های مجرب Vim میگویند:«یادگیری این نرم افزار سخت است ولی ارزشش را دارد.»مهمترین رقیب ویم، ای‌مکس است. این ویرایشگر هم نسخه گرافیکی و هم خط فرمان دارد. به دلیل اینکه هدف من از این نوشته، ای‌مکس نیست، سریع از روی آن میگذرم.من هم با توجه به تعریف هایی که از Vim شنیده بودم، خواستم تا آن را امتحان کنم و اگر راضی بودم، به آن مهاجرت کنم. وارد آن شدم. نمی توانستم چیزی بنویسم! حتی نمی توانستم از آن خارج شوم. برای خروج، خود ترمینال را میبستم!شروع به جست و جو برای یافتن بهترین آموزش آن کردم. آموزش های زیادی وجود داشت ولی با توجه به تجربه ای که در این سرچ ها کسب کردم به شما پیشنهاد میکنم ابتدا آموزش خود ویم را مطالعه کنید. این آموزش با نوشتن کد vimtutor در ترمینال لینوکس و شاید مک نمایش داده میشود (ویندوز را نمی دانم) و به گفته خودش، در ۳۰ دقیقه ویم را آموزش میدهد؛ ولی شما باور نکنید! پس از اتمام این آموزش عالی، آموزش ۳ قسمتی جادی بسیار مناسب است. اگر vimtutor را استفاده کرده باشید، تنها دیدن قسمت سوم آموزش جادی کافیست.شروع کردم تا پروژه در دست توسعه خودم را با ویم ویرایش کنم. هر چه بیشتر با ویم کار میکنم، به ارزشمند بودن یادگیری آن بیشتر ایمان میاورم. ذکر این نکته حائز اهمیت است که قبل از ویم از VSCode استفاده میکردم و هنوز هم گاهاً - تا عادت کامل به ویم - از آن استفاده میکنم.ویم در ابتدا و بدون نصب پلاگین هایش، تنها به درد ویرایش متن میخورد نه کد. بنابراین من پلاگین هایی که نیاز داشتم را نصب کردم تا مناسب برنامه نویسی باشد. برای این کار سختی های زیادی کشیدم. تا اینکه آموزش جادی به خوبی نصب پلاگین را آموزش داد.برخی از پلاگین هایی که استفاده میکنم:۱- Vundleاین پلاگین (البته اگر پلاگین محسوب شود) یک پلاگین منیجر است. همانطور که بالاتر هم اشاره کردم، نصب پلاگین به صورت دستی در ویم دردسر دارد. استفاده از مدیر پلاگین راه را بسیار هموار میکند. واندل یکی از بهترین های این زمینه است. یکی دیگر از برترین ها، vim-plug است که آن هم قدرت خوبی دارد و میتوانید از آن هم استفاده کنید.۲- indentpythonاین پلاگین سعی میکند تا ایندنت هایی مطابق PEP8 در فایل های پایتون ایجاد کند.۳- YouCompleteMeبه جرئت میتوانم بگویم بهترین موتور اتوکامپلیت در ویم است. برای زبان های مختلفی قابلیت استفاده دارد. تنها مشکلی که دارد - و حق هم دارد - این است که راه نصب آن کمی طولانی و گاهاً با دردسر همراه است.4- surroundاین پلاگین، مخصوص کاراتر های pair هست؛ مثل پرانتز یا کوتیشن. مثلا به کمک آن میتوانید به راحتی نوع کوتیشن یک رشته را عوض کنید.۵- vim-fugitiveاین plugin برای اجرای دستورات گیت در محیط ویم است. بسیار کاربردی و مناسب است.۶- vim-gitgutterدیدن خطوط تغییر یافته و ثبت نشده در گیت یکی از مهمترین قابلیت های یک ویرایشگر کد است. به کمک این پلاگین، کنار هر خط، وضعیت آن خط را میبینید.۷- vim-airlineیک نوار وضعیت قدرتمند. این پلاگین، Status bar پر جزئیات و زیبایی در زیر کد شما قرار میدهد که بسیار به درد بخور است.۸- auto-pairsاز نام پلاگین کارش معلوم است.یکی از مهمترین ویژگی های یک ویرایشگر کد، نصب تم است. به این ویژگی در ویم، colorscheme گفته میشود. تعدادی colorscheme پیشفرض در ویم وجود دارد و علاوه بر آنها، میتوانید تعداد دیگری colorscheme دانلود و استفاده کنید. من desert را ترجیح دادم:ویم نهایی منتا اینجا که از ویم استفاده کرده ام، فکر نکنم آن را ترک کنم. کم کم سعی می کنم خودم را با آن وفق بدهم. علاوه بر دلایلی که تاکنون گفته ام، مصرف کم رم توسط ویم، یکی از مهمترین دلایلم برای استفاده از آن است. به دلیل غیرگرافیکی بودم ویم، مصرف رم آن بسیار کم است:متشکرم که متن من را خواندید. لطفا نظرات خود را به اطلاع من برسانید.منبع برخی از تصاویر: simpleprogrammer.com