ویرایشگر vi و نسخه بهبود یافته آن، vim، از پرکاربردترین ویرایشگرهای متنی در سیستمهای یونیکس و لینوکس هستند، اما برای کاربرانی که با آنها آشنا نیستند، گیجکننده و دشوار به نظر میرسند. خروج از vi یا vim به ظاهر ساده است، اما نیازمند دانستن چند دستور کلیدی و درک حالتهای مختلف ویرایشگر است. در ادامه توضیح کاملی از نحوه کار با vi و خروج از آن ارائه میشود.
چرا vi متفاوت است؟
vi یک ویرایشگر مودال (modal) است، یعنی دو حالت اصلی دارد:
- Command Mode (حالت دستور): در این حالت دستورات اجرا میشوند، مانند جابجایی بین خطوط، حذف متن یا خروج از ویرایشگر.
- Insert Mode (حالت ویرایش): در این حالت میتوان متن را وارد یا ویرایش کرد.
هنگام باز کردن vi، برنامه به صورت پیشفرض در Command Mode قرار دارد. اگر مستقیماً شروع به تایپ متن کنید، کلیدهای وارد شده به عنوان دستور شناسایی میشوند و ممکن است فایل خراب شود یا متن غیرمنتظرهای اضافه شود. این موضوع یکی از دلایلی است که کار با vi برای کاربران تازهکار دشوار به نظر میرسد.
ورود به vi و باز کردن فایل
برای باز کردن یک فایل با vi دستور زیر را وارد کنید:
vi filename
- در برخی توزیعهای لینوکس، ویرایشگر پیشفرض vim است، که نسخه بهبود یافته vi محسوب میشود.
- تمام دستورهایی که برای vi توضیح داده میشوند، در vim نیز کاربرد دارند.
برای مثال، باز کردن فایل پیکربندی bash:
vi .bashrc
تشخیص حالتها و جابجایی بین آنها
- برای ورود به Insert Mode و شروع تایپ، کلید i را فشار دهید. کلیدهای دیگری نیز برای این کار وجود دارند: a, A, c, C, I, o, O, R, s, S.
- برای بازگشت به Command Mode از Insert Mode، کلید Esc را فشار دهید. اگر چند بار Esc را فشار دهید و صدای بوق شنیدید، یعنی قبلاً در Command Mode بودهاید.
خروج از vi
خروج بدون ذخیره تغییرات
برای خروج از vi بدون ذخیره تغییرات، دستور زیر را تایپ کنید:
:q!
qمخفف quit (خروج)!تأکید میکند که تغییرات ذخیره نشوند
اگر پیام no write since last change ظاهر شد، به این معنی است که علامت ! را فراموش کردهاید. با تایپ دوباره دستور با علامت ! میتوان بدون ذخیره فایل را ترک کرد.
خروج و ذخیره تغییرات
برای ذخیره تغییرات و خروج از ویرایشگر:
:wq
wمخفف write (ذخیره)qمخفف quit (خروج)
همچنین میتوان با دستور ترکیبی دیگری به صورت سریع خروج و ذخیره انجام داد:
:x
که معادل :wq عمل میکند.
نکات مهم برای کار با vi
- تسلط بر حالتها ضروری است: بدون درک تفاوت بین Command و Insert، احتمال خراب شدن فایل یا اجرای دستورات ناخواسته بالا است.
- کلید Esc دوست شماست: همیشه برای خروج از Insert Mode و برگشت به Command Mode از Esc استفاده کنید.
- استفاده از دستور :q! نجاتدهنده است: وقتی سردرگم هستید و نمیخواهید تغییرات ذخیره شوند، این دستور کمک میکند تا فایل بدون آسیب ترک شود.
- ذخیره با اطمینان: قبل از استفاده از
:wqمطمئن شوید که تغییرات موردنظر انجام شدهاند.
قدرت vi و دلیل یادگیری آن
vi به دلیل حجم بالای دستورات و کلیدهای ترکیبی، یکی از قویترین ویرایشگرهای متنی است. بسیاری از کارهای پیچیده در ویرایش متن، مدیریت فایلها و حتی برنامهنویسی از طریق ترکیبهای کوتاه کلیدها انجام میشود. یادگیری و تمرین با vi مانند یادگیری پیانو است: بدون تمرین نمیتوان از تواناییهای آن بهره برد.
- تسلط بر vi باعث افزایش سرعت و دقت در ویرایش فایلها میشود.
- در محیطهای حرفهای و سرورها، vi اغلب تنها ویرایشگری است که در دسترس است و یادگیری آن ضروری است.
جمعبندی
کار با vi در ابتدا دشوار به نظر میرسد، اما با یادگیری حالتهای ویرایش و دستورات کلیدی میتوان به راحتی فایلها را مدیریت کرد. برای خروج سریع و امن:
- بدون ذخیره:
:q! - با ذخیره:
:wq
تا زمانی که به vi مسلط نشدهاید، در مواجهه با فایلهای مهم، ابتدا از :q! استفاده کنید تا تغییرات ناخواسته ذخیره نشوند و از آسیب به فایلها جلوگیری شود.













