مقدمه
تاکنون یاد گرفتهایم فایلها را مشاهده، آنالیز و مدیریت کنیم. اما مهمترین بخش کار با فایلها،
یعنی ویرایش محتوای آنها، باقی مانده است. برای نوشتن یک اسکریپت، تغییر یک فایل پیکربندی یا حتی
نوشتن یک یادداشت ساده، به یک ویرایشگر متن (Text Editor) نیاز داریم. در حالی که ویرایشگرهای
گرافیکی زیادی وجود دارند، یک کاربر حرفهای لینوکس باید بتواند فایلها را مستقیماً در خط فرمان
ویرایش کند.
در این درس، با دو ویرایشگر متنی بسیار معروف و متفاوت در دنیای لینوکس آشنا میشویم:
- Nano: یک ویرایشگر ساده، مدرن و کاربرپسند که برای شروع عالی است.
- Vim: یک ویرایشگر بسیار قدرتمند، سریع و کارآمد که یادگیری آن نیازمند زمان است اما
بهرهوری فوقالعادهای را به ارمغان میآورد.
هدف این درس، آموزش تمام قابلیتهای این دو ابزار نیست، بلکه فراهم کردن یک راهنمای شروع سریع است
تا بتوانید به راحتی اولین فایلهای خود را با هر دو ویرایشگر باز کرده، ویرایش کنید و ذخیره
نمایید.
ویرایشگر ساده و دوستانه: Nano
Nano برای کاربرانی طراحی شده که به دنبال سادگی هستند. بزرگترین مزیت آن این است که میانبرهای
اصلی همیشه در پایین صفحه نمایش داده میشوند، بنابراین نیازی به حفظ کردن آنها ندارید. برای باز
کردن یک فایل (یا ساختن یک فایل جدید) با Nano، کافیست نام آن را جلوی دستور تایپ کنید:
$ nano myscript.sh
محیط Nano بسیار آشنا به نظر میرسد. در بالای صفحه نام فایل و در پایین، لیستی از دستورات را
میبینید. در این لیست، علامت ^ به معنای کلید Ctrl است. برای مثال،
^X به معنای فشردن همزمان Ctrl + X است.
عملیات پایه در Nano
- حرکت در متن: به سادگی با کلیدهای جهتنما (Arrow Keys) در متن جابجا شوید.
- ویرایش متن: کافیست شروع به تایپ کردن کنید. متن شما در محل نشانگر درج میشود.
- ذخیره کردن فایل: برای ذخیره تغییرات، از میانبر Write Out یعنی Ctrl + O
استفاده کنید. Nano نام فایل را از شما میپرسد (که میتوانید تأیید یا تغییر دهید) و با زدن
Enter، فایل ذخیره میشود.
- خروج از برنامه: برای خروج، میانبر Exit یعنی Ctrl + X را بزنید. اگر
تغییرات ذخیرهنشدهای داشته باشید، Nano از شما میپرسد که آیا میخواهید آنها را ذخیره کنید
یا خیر.
- جستجو: با فشردن Ctrl + W (مخفف Where is) میتوانید کلمهای را در متن جستجو
کنید.
ویرایشگر قدرتمند و حرفهای: Vim
Vim (مخفف Vi IMproved) یک ویرایشگر افسانهای است که تقریباً روی تمام سیستمهای
یونیکسی به صورت پیشفرض نصب است. Vim با تمام ویرایشگرهایی که تابحال دیدهاید تفاوت دارد، زیرا یک
ویرایشگر مُدال (Modal) است. این یعنی بسته به «مُدی» که در آن هستید، فشردن یک کلید کار
متفاوتی انجام میدهد.
دو مُد ضروری در Vim
برای شروع، فقط کافیست دو مد اصلی Vim را بشناسید:
-
مُد عادی (Normal Mode): این مد پیشفرض Vim است. در این مد، کلیدها متن تایپ
نمیکنند، بلکه دستور هستند. برای مثال، فشردن کلید j شما را یک خط به پایین
میبرد و فشردن x کاراکتر زیر نشانگر را حذف میکند. این مد برای حرکت و دستکاری
سریع متن طراحی شده است.
-
مُد درج (Insert Mode): در این مد، Vim مانند یک ویرایشگر معمولی عمل میکند و هر کلیدی
که فشار دهید، در متن درج میشود.
کلید طلایی برای کار با Vim، دانستن نحوهی جابجایی بین این دو مد است:
- برای رفتن از مد نرمال به مد درج، کلید i (مخفف insert) را
فشار دهید.
- برای بازگشت از مد درج به مد نرمال، کلید Esc را فشار دهید. کلید
Esc بهترین دوست شما در Vim است.
عملیات پایه در Vim
تمام دستورات زیر در مد نرمال اجرا میشوند. اگر در مد درج هستید، ابتدا Esc را
بزنید.
- حرکت در متن: از کلیدهای h (چپ)، j (پایین)، k (بالا)
و l (راست) استفاده کنید. (البته کلیدهای جهتنما نیز معمولاً کار میکنند).
- حذف متن: کلید x کاراکتر زیر نشانگر را حذف میکند. دستور dd (دو
بار فشردن کلید d) کل خط فعلی را حذف میکند.
- کپی و چسباندن: دستور yy (دو بار فشردن y) کل خط را کپی (Yank) میکند. دستور
p محتوای کپیشده را در زیر خط فعلی میچسباند (Paste).
-
ذخیره و خروج: این دستورات با تایپ کردن : شروع میشوند که خط فرمان داخلی
Vim را در پایین صفحه باز میکند.
- :w فایل را ذخیره میکند (write).
- :q از Vim خارج میشود (quit).
- :wq فایل را ذخیره کرده و خارج میشود.
- :q! بدون ذخیره کردن تغییرات، به صورت اجباری خارج میشود.
Nano یا Vim؟ کدام را استفاده کنیم؟
پاسخ این سؤال به نیاز شما و کاری که انجام میدهید بستگی دارد. هیچ ویرایشگر «بهتری» وجود ندارد.
-
از Nano استفاده کنید اگر: تازهکار هستید، میخواهید یک فایل را به سرعت و بدون دردسر
ویرایش کنید، یا حوصلهی یادگیری مفاهیم جدیدی مانند «مد» را ندارید. Nano همیشه کار شما را راه
میاندازد.
-
از Vim استفاده کنید اگر: میخواهید به نهایت سرعت و کارایی در ویرایش متن برسید، زمان
زیادی را در خط فرمان صرف میکنید، یا روی یک سرور بسیار حداقلی کار میکنید که ممکن است Nano
روی آن نصب نباشد (Vim یا نسخهی قدیمیتر آن یعنی Vi تقریباً همیشه در دسترس است).
توصیه ما این است که با هر دو ابزار آشنا شوید. از Nano برای کارهای روزمره و سریع استفاده کنید و
به تدریج زمانی را به یادگیری Vim اختصاص دهید. سرمایهگذاری برای یادگیری Vim، مهارتی است که در
تمام طول مسیر حرفهای شما در دنیای لینوکس به کارتان خواهد آمد.