آشنایی با مهمترین دستورات Vim
Vim یکی از پرکاربردترین ویرایشگرهای متنی در لینوکس است که به علت سرعت و کارایی بالا، در بین برنامهنویسان و مدیران سیستم، محبوبیت زیادی پیدا کرده است.
پیشنهاد نویسنده: لینوکس چیست؟
ادیتور Vim؛ راهنمای کامل مهمترین دستورات ادیتور Vim
Vim یک ویرایشگر متنی مبتنی بر ترمینال میباشد که نسخهی پیشرفتهتری از ویرایشگر vi است. تقریباً روی تمام توزیعهای لینوکس و بسیاری از سیستمهای مبتنی بر یونیکس در دسترس میباشد و برای ویرایش فایلهای متنی، فایلهای پیکربندی، اسکریپتها و کدهای برنامهنویسی به کار برده میشود.
برخلاف ویرایشگرهای معمولی، Vim دارای حالتهای مختلفی است که این حالتها عبارتاند از:
- Normal Mode: اجرای دستورات.
- Insert Mode: تایپ و ویرایش متن.
- Command Mode: اجرای فرمانهایی مانند ذخیره و خروج.
کلید Esc؛ خروج از حالت تایپ
یکی از مواردی که مبتدیها در ابتدا با آن مشکل دارند، نحوه خروج از حالت نوشتار است.
کلید Esc مهمترین کلید در ویراشگر Vim است. هر زمان که در حال نوشتن متن باشید و بخواهید دستوری اجرا کنید، ابتدا باید Esc را فشار دهید تا از حالت Insert خارج شوید.
اگر Esc را فشار ندهید، دستورات بهجای اجرا شدن، بهصورت متن داخل فایل نوشته میشوند.
ورود به حالت Insert
با فشردن کلید i که مخفف Insert است، میتوان داخل فایل متن نوشت.

پس از اجرای این دستور، هر متنی که بنویسید در محل فعلی مکاننما درج خواهد شد.
دستور a
دستور a (append) هم ویراشگر را به حالت Insert وارد میکند، اما ابتدا مکاننما را یک کاراکتر به جلو میبرد و سپس میتوان عملیات تایپ را آغاز کرد.
اگر بخواهید بعد از یک حرف یا عدد چیزی اضافه کنید، استفاده از a گزینه مناسبتری است.
ایجاد خط جدید
با استفاده از دو دستور o و O میتوان خط جدید ایجاد کرد.
دستور o، یک خط جدید در پایین خط فعلی ایجاد میکند و بلافاصله به حالت Insert میرود، اما دستور O هم عملکردی مشابه دارد ولی با این تفاوت که به خط جدید را در بالای خط فعلی ایجاد میکند.
کپی کردن خطوط
برای کپی کردن یک خط در ویرایشگر Vim میتوان از دستور yy استفاده کرد که این دستور کل خطی را که مکاننما بر روی آن قرار دارد را کپی میکند.
بعد از اجرای این دستور، خط در حافظه Vim ذخیره میشود و میتوان آن را در هر قسمت از فایل چسپاند.
چسباندن متن
برای چسپاندن متن کپی شده از دو دستور p و P به کار برده میشود؛ دستور p، متن را در خط بعدی خط فعلی میچسپاند و دستور P متن را در خط قبلی خط فعلی میچسپاند.
حذف خطوط و کلمات
با استفاده از دستور dd، میتوان خطی که مکاننما بر روی آن است را حذف کرد.
نکته: این دستور خط حذف شده را حذف میکند، ولی با این تفاوت که خط حذف شده در حافظه Vim ذخیره میشود و میتوان آن را دوباره با استفاده از دستور p و P در خط مورد نظر قرار داد.
اگر که مقصود از حذف، کلمه است، باید از دستور dw استفاده کرد.
این دستور از محل مکاننما تا انتهای کلمه را حذف میکند و برای ویرایش سریع بسیار کاربردی میباشد.
جایگزینی یک کاراکتر
دستور r برای جایگزینی یک کاراکتر استفاده میشود. کافی است مکاننما را روی کاراکتر موردنظر قرار دهید، سپس کلید r را فشار داده و کاراکتر جدید را وارد کنید. در این حالت، کاراکتر قبلی بدون حذف شدن با کاراکتر جدید جایگزین میشود.
این دستور برای اصلاح سریع اشتباهات تایپی بسیار کاربردی است و نسبت به حذف و تایپ دوباره، زمان کمتری میگیرد.
تکرار آخرین عملیات
کاراکتر . (Dot) برای تکرار آخرین عملیات ویرایشی در Vim استفاده میشود. بهعبارت دیگر، هر تغییری که آخرین بار روی متن انجام دادهاید، با فشردن این کلید دوباره اجرا خواهد شد.
مثلا، اگر یکبار دستور dw را برای حذف یک کلمه اجرا کرده باشید، با فشردن . همان دستور روی محل جدید مکاننما تکرار میشود.
این قابلیت یکی از ویژگیهای کاربردی Vim است و به شما کمک میکند عملیات تکراری را بدون وارد کردن مجدد دستور، سریعتر انجام دهید.
حرکت سریع در فایل
حرف g بهتنهایی عملکردی ندارد، اما پایه بسیاری از دستورات حرکتی در Vim است و برای جابهجایی سریع در فایل استفاده میشود. از پرکاربردترین دستورات مبتنی بر g میتوان به موارد زیر اشاره کرد:
- gg: انتقال مکاننما به ابتدای فایل.
- G: انتقال مکاننما به انتهای فایل.
- 15G: انتقال مستقیم به خط پانزدهم فایل (بهجای 15 میتوانید شماره هر خط دیگری را وارد کنید.)
استفاده از این دستورات هنگام کار با فایلهای طولانی، جابهجایی بین بخشهای مختلف را بسیار سریعتر و سادهتر میکند.
دستورات ذخیره و خروج در Vim
دستور w: که مخفف کلمه write است برای ذخیره تغییرات انجامشده در فایل استفاده میشود. با اجرای این دستور، فایل ذخیره خواهد شد اما ویرایشگر Vim همچنان باز میماند.
اگر که قصد خروج از Vim را دارید، از دستور q: که مخفف کلمه quit است، استفاده کنید. این دستور تنها وقتی اجرا میشود که تغییری در فایل وجود نداشته باشد یا تغییرات قبلاً ذخیره شده باشند؛ در غیر این صورت، Vim از خروج جلوگیری میکند.
دستور wq: فایل را ذخیره کرده و سپس از ویرایشگر خارج میشود. این فرمان یکی از پرکاربردترین دستورات Vim است و معمولاً پس از اتمام ویرایش فایل مورد استفاده قرار میگیرد.
چند نکته برای یادگیری سریعتر Vim
بیشک بهترین روش برای یادگیری دستورات Vim، تمرین روزانه است. سعی کنید فایلهای متنی ساده را با این ویرایشگر باز کنید و بدون استفاده از ماوس، عملیات کپی، حذف، درج و جابهجایی را انجام دهید. با تکرار این تمرینها، استفاده از دستورات بهمرور برایتان طبیعی خواهد شد و به مرور سرعت کارتان افزایش پیدا میکند.
اگر سوالات بیشتری در ارتباط با این موضوع داشتید، حتما در بخش نظرات این نوشته برای ما بنویسید.















استفاده از ماوس توی Vim عادت بدیه یا اشکالی نداره؟
برای شروع استفاده از ماوس مشکلی ندارد، اما هرچه بیشتر از دستورات حرکتی Vim استفاده کنید، سرعت و بهره وری شما در بلندمدت بیشتر خواهد شد.
به نظرتون اول حرکت داخل فایل رو یاد بگیریم یا دستورات ویرایش رو؟
بهتر است ابتدا حرکت در فایل را یاد بگیرید، چون بخش زیادی از سرعت کار در Vim به جابه جایی سریع بین خطوط و کلمات مربوط می شود. بعد از آن یادگیری دستورات ویرایش خیلی راحت تر خواهد بود.
دستور . که آخرین تغییر رو تکرار میکنه، واقعا توی کار روزانه اینقدر کاربردیه؟
بله، یکی از دستورات بسیار کاربردی Vim است. وقتی یک ویرایش مشابه را باید چند بار انجام دهید، با . می توانید همان تغییر را دوباره اجرا کنید و سرعت کارتان را افزایش دهید.
بین Vim و Neovim از نظر دستورات اصلی تفاوت زیادی وجود داره؟
خیر، دستورات پایه در Vim و Neovim تقریبا یکسان هستند. اگر این دستورات را یاد بگیرید، در هر دو محیط می توانید به راحتی کار کنید و تفاوت ها بیشتر در امکانات و قابلیت های پیشرفته است.
برای کسی که تازه Vim رو شروع کرده، واقعا لازمه همه دستورها رو حفظ کنیم یا همون چند دستور اصلی کافیه؟
خیر، در ابتدای کار یاد گرفتن چند دستور پرکاربرد مثل i، Esc، :w، :q، dd، yy و p کاملا کافی است. با استفاده روزانه، بقیه دستورات هم به مرور وارد حافظه می شوند.