توسعه دهندهی وب ، دانشجوی مهندسی کامپیوتر، همیشه کنجکاو
تجربهی من در کار با vim و استفاده از آن در همهجا
دیدگاه ادیتور vim به ویرایش فایلها بسیار جالب و کاربردیه؛ این که ما موقع ویرایش فایل، ۹۰ درصد مواقع در حال بالا و پایین رفتن و جابهجا شدن بین خطوط و ور رفتن با فایل هستیم و ۱۰ درصد مواقع در حال تایپ کردن هستیم.
به خاطر همین دیدگاه vim دو حالت command و insert داره. وقتی توی حالت command هستیم چیزی توی فایل تایپ نمیکنیم و دکمههای روی کیبورد وظایف دیگهای رو به عهده دارن که به ما کمک میکنن راحتتر با فایلمون ور بریم، بین خطها جابهجا بشیم، یه خطرو حذف کنیم و ... توی حالت insert هم که میتونیم توی فایلمون تایپ میکنیم.
ادیتور vim یه ادیتور قدیمیه که توی اکثر جاها (لینوکس، مک، ویندوز و ...) قابل استفادس.اگه برنامهنویسی میکنید vim واقعا میتونه سرعت کارتونو بالا ببره و یادگیریش خالی از لطف نیست.
من خیلی وقت نیست که با vim آشنا هستم ولی تو همین مدّت کم واقعا عاشقش شدم به خاطر امکانات خیلی زیادی که داره. vim معمولا توی ترمینال و کامندپرامپت استفاده میشه ولی این به کار من نمیومد چون برنامهنویسی اندروید و نوشتن کدای جاوا بخش اعظم کارای منو تشکیل میده، خب اوّلین فکری که به ذهنم رسید این بود که از افزونههای vim استفاده کنم و کدای جاوارو بنویسم... ولی یکم که فکر کردم دیدم واقعا هیچّی نمیتونه جای اندروید استودیورو بگیره. یکم دیگه فکر کردم... چی میشه اگه به جای این که امکانات اندروید استودیورو به vim اضافه کنم بیام و امکانات vim رو به اندروید استودیو اضافه کنم؟?
با یه سرچ ساده متوجّه شدم که یه افزونه به نام IdeaVim هست که به راحتی امکانات vim رو به اندروید استودیو اضافه میکنه. چی بهتر از این؟?
البته این افزونه برای سایر IDE های شرکت جتبرینز (intellij idea, pycharm, phpstorm, clion , ...) هم قابل استفادس. احتمالا برای سایر IDE ها هم بتونید افزونهای برای این کار پیدا کنید، از دوست خوبمون گوگل کمک بگیرید?
اگرم دوست داشتید توی خود محیط vim کار کنید خبر خوب اینه که vim افزونههای فراوونی داره که میتونید استفاده کنید، فقط کافیه سرچ کنید.
خلاصه که vim عالیه و به شدّت سرعت کارمونو بالا میبره، حالا اگه توی IDE محبوبمونهم داشته باشیمش که عالی میشه.
راستی تا یادم نرفته، جادی عزیز یه سری ویدیوی سه قسمتی آموزش vim ضبط کرده که از صفر vim رو یاد میده. اینم لینکش:
مطلبی دیگر از این انتشارات
ایجاد پروژه آیونیک در لینوکس علیرغم تحریمها
مطلبی دیگر از این انتشارات
کاتلین یا جاوا؟
مطلبی دیگر از این انتشارات
پیاده سازی Swagger,ApiVersion در web api core 3