منبع اصلی نوشتار زیر در این لینک قرار دارد

ملاقات مجدد با Vim

ادیتور همیشه یه ابزار مهم برای کساییه که با فایل‌های متنی کار می‌کنن. داشتن یه ادیتور خوب کلی از فرایند کارکردن با فایل‌های متنی (مثل نوشتن برنامه) رو راحت می‌کنه. تو ویندوز ویژوال استودیو هست که هم ادیتورش خیلی خوبه و هم به عنوان یه IDE واقعا حرف نداره. این رو به عنوان کسی می‌گم که از Turbo Pascal 5.5 داره با IDE های مختلف کار می‌کنه.
تو لینوکس اما قضیه کمی فرق می‌کنه. اولین روزایی که با لینوکس شروع کردم (شاید حدود سال ۸۴) خوندم که ادیتور vi خیلی عالیه. یکی دو روز هم سعی کردم باهاش کار کنم، اما دیدم اصلن نمی‌شه باهاش کار کرد. بعد اون شروع کردم با IDE های مختلف کار کردن. مدت زیادی با Code Blocks کار کردم. شاید تا حدود سال ۸۸. Code Blocks خوب بود. ولی مشکلی که داشت این بود که برای ‪C++‬ خیلی خوب پیش‌نهاد Code Completion نمی‌داد. بعد از اون یه مدت کوتاه با Net Beans کار کردم. خوش‌دست بود؛ ولی وقتی پروژه کمی بزرگ می‌شد بسیار کند کار می‌کرد. بعد اون شروع کردم با Eclipse کار کردم تا ۲ ۳ سال پیش. Eclipse اگر چه سریعتر از Net Beans بود، ولی باز هم به نظرم کند میومد. به علاوه تنظیماتش خیلی پیچیده بود و ظاهرش هم چنگی به دل نمی‌زد.

قبل از این که ادامه بدم باید بزرگترین اشتباهم رو تو این دوره ذکر کنم. بزرگترین اشتباهم این بود که می‌خواستم تو دنیای لینوکس همون چیزی که تو ویندوز داشتم رو تقلید کنم. یعنی مثلا انتظار داشتم مثل Visual Studio یه IDE غول و بی‌نقص داشته باشم که همه کارا رو برام هندل کنه. در صورتی که لینوکس مبتنی بر نگرش دیگه‌ایه. لینوکس می‌گه من یه عالمه ابزار کوچیک کوچیک ساده در اختیارت می‌ذارم که کارات رو بتونی خودت بکنی. مثلا مورد برنامه نویسی ابزار make رو داره. یه بار که makefile بنویسی، دیگه دقیق می‌دونی داری چی کار می‌کنی و کنترل کاملی هم رو ابزارت داری.
این بود تا با Sublime Text آشنا شدم. سریع، زیبا و چالاک. و البته دیگه خودم کارای برپاکردن پروژه‌هام رو انجام می‌دادم. اما از طرفی Sublime آزاد نبود و Code Completion خوبی هم نداشت. به همین خاطر بعد شاید یه سال دوباره برگشتم سر خونه اول: Vim. اما این دفعه خودم یه فرق بزرگ کرده بودم: به خاطر عمل دیسک گردنم مجبور شده بودم تایپ ده انگشتی یاد بگیرم و برام مهم بود که موقع کار کردن با ادیتورم واقعا دستم رو از روی کیبرد بر ندارم. راستش تو این همه سال یواش یواش کمی Vim یاد گرفته بودم. حرکت تو فایل و کمی ادیت کردن با Vim رو بلد بودم. واسه همین رفتن سراغ Vim برام به این معنی بود که چند تا دستور بیشتر یاد بگیرم و هم این که بتونم تنظیمات Vim خودم رو انجام بدم. بعد این مراحل آروم آروم مقدار کار کردنم با Vim رو بیشتر کردم تا این که الان بیشتر از یه ساله که همه کارهام رو با Vim انجام می‌دم.
با این سابقه می‌خوام به کسایی که می‌خوان Vim رو شروع کنن چند تا توصیه مهم بکنم:

۱- Vim برای کساییه که تایپ ده انگشتی بلدن. اگه تایپ ده انگشتی بلد نیستین یا سرعت تایپتون پایینه Vim برای شما نیست. این رو من نمی‌گم. این توصیه تو کتاب خیلی مهم Practical Vim اومده و البته بسیار صحیحه. یه بار یه ویدئوکست فارسی دیدم که یه دوستی وسط معرفی یه ابزار لینوکسی، برای انجام تنظیماتش از Vim استفاده می‌کرد و بسیار هم ازش تعریف می‌کرد. اما توی ویدئو معلوم بود برای کار کردن با Vim داره حسابی زجر می‌کشه. واقعا این طوری زورکی نمی‌شه با ابزاری کار کرد. البته اگه برنامه‌نویسی یا کار کردن با فایل‌های متنی کار روزمرتونه اکیدا توصیه می‌کنم تایپ ده انگشتی رو یاد بگیرین. تو دو سه هفته راه میفتین و تو دو سه ماه حسابی سریع می‌شین.

۲- لازم نیست برای شروع Vim همه چیز رو بلد باشین. با ۱۰ ۱۵ تا دستور اصلی شروع کنین و به تدریج دانشتون رو بالا ببرین. اون دستورایی که مهمه رو اتوماتیک بیشتر استفاده خواهید کرد و حفظ خواهید شد.

۳- Vim رو خودتون کانفیگ کنین. خیلی مهمه که کانفیگ یکی دیگه رو کپی نکنین و یا لااقل آگاهانه این کار رو بکنین. منابع خیلی خوبی برای کانفیگ Vim وجود داره. احتمالا تو یه پست مجزا ریز کانفیگ خودم رو توضیح می‌دم.

۴- مطالعه کنین. همون کتاب Practical Vim عالیه. شبی چند صفحه و بعد یه مدت دانشتون حسابی غنی شده.

Vim خیلی عالیه. مثل اینه که دارید با کامپیوتر حرف می‌زنید که براتون متن رو ویرایش کنه. مکالمه خوبی داشته باشین. 🙂



برچسب ها :