نحوه ی کار با ویرایشگرهای vi و emacs


توسعه دهندگان و ادمین های سیستم معمولاً برای کارهای روزمره ی خود از یکی از ویرایشگرهای متن vi یا emacs استفاده می‌کنند. هر دو ویرایشگر در اکثر توزیع‌های مطرح لینوکسی در دسترس اند.

اگرچه که این دست ویرایشگرهای بیشتر برای کاربران حرفه یی لینوکس توصیه می‌شوند، اما این در حالی است که اگر مبتدیان هم با نحوه ی کار با این ویرایشگرها آشنا شده و زمان نسبتاً قابل توجهی برای آشنایی با زیر و بم این نرم‌افزارها صرف کنند، مسلماً از نتیجه ی این کار که همان به کارگیری از ویرایشگر متنی کاملاً حرفه یی است راضی خواهند بود!

لازم به ذکر است که ویرایشگرهای متن vi و emacs به صورت پیش‌فرض نرم افزارهای ترمینالی هستند اما این در حالی است که برای سهولت استفاده ی کاربران مبتدی، نسخه های گرافیکی از این نرم‌افزارها نیز در اختیار علاقمندان قرار گرفته است.

آشنایی با ویرایشگر متن vi
به طور معمول، نسخه یی که به صورت پیش‌فرض روی اکثر سیستم‌ها نصب است vim نام دارد که مخفف واژگان vi Improved به معنی «نسخه ی بهبود یافته ی vi» است.

نکته
vi به صورت «ویی آی» تلفظ می‌شود.

جهت باز کردن یک فایل در نرم‌افزار vi، وارد ترمینال شده و دستور زیر را وارد می کنیم:

vi myFile

فایلی تحت عنوان myFile در vi باز شده و محتویات آن را می‌توانیم مشاهده کنیم. به صورت پیش فرض، این نرم‌افزار در حالت Command Mode باز می‌شود. برای آنکه بتوانیم اقدام به ویرایش فایل مد نظر کنیم، نیاز است تا وارد Insert Mode شویم؛ لذا حرف i را وارد کرده و اینتر می‌کنیم. حال می‌توانیم شروع به تایپ کردن کنیم. جدول زیر حاوی کلیدهای پرکاربرد در نرم‌افزار vi است:

کلید کاربرد
Esc برای خارج شدن از Insert Mode و وارد شدن به Command Mode
wq: برای خارج شدن از vi و ذخیره کردن فایل دستور wq: را وارد کرده و اینتر می‌کنیم.
q: برای خارج شدن از برنامه در صورتی که هیچ گونه ویرایشی صورت نگرفته باشد.
!q: خارج شدن از برنامه بدون ذخیره سازی تغییرات صورت گرفته روی فایل
j برای رفتن یک خط به پایین
k رفتن یک خط به بالا
w برای رفتن به اولین حرف کلمه ی بعد
$ برای رفتن به انتهای خط
0 رفتن به ابتدای خط
h یا Backspace رفتن به کاراکتر قبلی
l یا Space رفتن به کاراکتر بعدی
۰: سپس اینتر رفتن به ابتدای فایل
$: سپس اینتر رفتن به انتهای فایل
pattern/ یافتن یک کلمه در فایل. به طور مثال برای یافتن عبارت developer در یک متن، می بایست دستور developer/ را وارد کرده سپس اینتر کنید. این دستور از جایی که Cursor قرار داشته باشد به بعد را به دنبال عبارت مد نظر می گردد. برای یافتن موارد بعدی عبارت جستجو شده از حرف n و برای ارجاع به کلمه های یافته شده ی قبلی از حرف N استفاده می شود.
pattern? یافتن یک عبارت رو به عقب؛ به عبارت دیگر، از جایی که Cursor قرار دارد رو به عقب را به دنبال پترن مد نظر می‌گردد.
x پاک کردن یک حرف در جایی که Cursor قرار دارد.
dd حذف یک خط از نوشته
D حذف متن از جایی که Cursor قرار دارد به بعد
u Undo کردن عملیات قبلی که روی فایل صورت گرفته
yy کپی کردن یک خط از فایل
p Paste کردن بخشی از فایل که قبلاً کپی شده است.

آشنایی با ویرایشگر متن emacs
نرم‌افزار ویرایشگر متن emacs یکی از رقبای اصلی vi محسوب می‌گردد. این نرم‌افزار را کاملاً می‌توان بنا به سلیقه ی خود شخصی سازی نموده و از قابلیت‌های بسیاری برخوردار است (از جمله قابلیت‌های منحصر به فرد این نرم‌افزار به غیر از ویرایش متن، می‌توان به دیباگ کردن سورس کد و غیره اشاره کرد.) این نرم‌افزار ابتدا برای به کار گرفته شدن در ترمینال طراحی شد اما بنا به دلایلی، خیلی زود نسخه ی گرافیکی آن هم در اختیار کاربران قرار گرفت.

برای باز کردن یک فایل -مثلا فایلی تحت عنوان myFile- در نرم‌افزار emacs، در کامند لاین لینوکس دستور emacs myFile را وارد می‌کنیم؛ پنجره ی نرم‌افزار به صورت زیر باز می‌گردد:

تصویر

جهت یافتن راهنمای استفاده از نرم‌افزار ایمکس، کلیدهای Ctrl + h را فشرده سپس حرف t که مخفف Tutorial به معنی «آموزش» است را وارد نمایید؛ خواهید دید که راهنمای استفاده از نرم‌افزار در اختیار شما قرار خواهد گرفت. جدول زیر حاوی برخی از پرکاربردترین کلیدهای نرم‌افزار emacs است:

کلید کاربرد
Arrow Keys به منظور تغییر محل نشانگر به چپ، راست،‌ بالا و پایین
Ctrl + x + s ذخیره کردن تغییرات اعمال شده روی فایل
Ctrl + n یک خط به پایین آمدن
Ctrl + p یک خط به بالا رفتن
Ctrl + f یک کاراکتر به سمت جلو -راست- رفتن
Ctrl + b یک کاراکتر به سمت عقب -چپ- رفتن
Ctrl + a رفتن به ابتدای خط
Ctrl + e رفتن به انتهای خط
Ctrl + s جستجوی عبارت مد نظر از جایی که Cursor قرار دارد رو به جلو
Ctrl + r جستجوی عبارت مد نظر از جایی که Cursor قرار دارد رو به عقب
Ctrl + o اضافه کردن یک خط خالی
Ctrl + d حذف یک کاراکتر در جایی که Cursor قرار دارد.
Ctrl + k حذف ادامه ی خط از جایی که Cursor قرار دارد.
ـ + Ctrl Undo کردن آخرین تغییرات
Ctrl + w Cut متن از جایی که Cursor قرار دارد تا انتهای فایل
Ctrl + y Paste کردن متن Cut شده در جایی که Cursor قرار دارد.
لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان
کاربر میهمان
کاربر میهمان
۱۳۹۶/۰۷/۲۴
ممنون
عالی بود .
مسعود
مسعود
۱۳۹۶/۰۳/۲۴
کلید های میانبر ایمکس ، قطعا برای خیلی ها عحیب. این تفاوت عحیب به خاطر این که زمان توسعه ایمکس ، کلید های میانبر استاندارد امروزه (مثل ctrl + v = پیست ، یا ctrl + c = کپی) وجود نداشته.
erog emacs سعی کرده این مشکل رو حل کن. =>‌ https://www.emacswiki.org/emacs/ergoemacskeybindings