آموزشچگونه

آموزش خط فرمان: قسمت سی و سوم، معرفی ویرایشگر VI

Print Friendly, PDF & Email

یادگیری خط فرمان لینوکس درست شبیه تبدیل شدن به یک پیانیست حرفه‌ای کاری نیست که یک شبه انجام شود.

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

چرا بایستی از ویرایشگر متن vi استفاده کنیم؟

در عصر ویرایشگرهای مدرن گرافیکی و همچنین ویرایشگرهای مبتنی بر متن، مانند nano چرا بایستی vi را یاد بگیریم؟ این سوالی است که ممکن است برای شما هم ایجاد شده باشد. برای این سوال چندین دلیل و پاسخ خوب وجود دارد:

  • vi همیشه در دسترس است. در صورتی که شما سیستمی داشته باشید که فاقد رابط گرافیکی باشد، vi نجات‌بخش شما خواهد بود.. چرا که vi همیشه در دسترس خواهد بود. سیستم‌هایی مانند یک سرور ریموت و یا سیستمی که رابط گرافیکی پیکربندی آن از بین رفته، دارای چنین شرایطی هستند. nano در حالی که بسیار رایج است ولی هنوز سراسری نیست. POSIX که استانداردی برای سازگاری برنامه‌ها در سیستم‌های یونیکس است، نیاز به موجود بودن vi دارد.
  • vi سبک و سریع است. برای بسیاری از کارها راحت‌تر است که vi را باز کنید تا اینکه یک ویرایشگر متنی گرافیکی را باز نمایید و منتظر بارگزاری چندین مگابایت برنامه شوید. به علاوه، vi به منظور تایپ سریع طراحی شده است. همانطور که خواهیم دید یک کاربر حرفه‌ای vi هنگام تایپ هرگز دست خود را از روی صفحه‌کلید بلند نخواهد کرد.
  • در آخر اینکه ما نمی‌خواهیم دیگر کاربران لینوکس تصور کنند که ما سوسول هستیم!

در آموزش‌های پیشِ رو صرفاً به معرفی ویرایشگر vi می‌پردازیم و در آموزش‌های آینده از ویرایشگر vi برای ویرایش فایل‌های متنی استفاده نخواهیم کرد و به جای آن به ویرایشگر nano اکتفا می‌کنیم. دلیل اصلی آن هم این است که vi ویرایشگری حرفه‌ای ایت و تسلط کامل بر روی فرمان‌های آن بر خودآموزان زمان‌بر خواهد بود. در نتیجه برای اینکه تمرکز خود را بر اجرای مباحث آموزش‌ها بگذاریم (به جای کلنجاز با vi) از ویرایشگر nano در مثال‌های خود استفاده خواهیم کرد.

تاریخچه‌ای درباره vi

اولین نسخه ویرایشگر متن vi در سال ۱۹۷۶ توسط Bill Joy نوشته شد. او دانشجوی دانشگاه برکلی کالیفرنیا بود که بعدها به میکروسیستم‌های شرکت سان رفت.

vi نام خود را از واژه visual (تصویری) گرفته است. چرا که شما را قادر می‌سازد که با جابه‌جا کردن مکان‌نما در داخل ترمینال به صورت تصویری و ویژوال، ویرایش کنید. پیش از ویرایشگرهای تصویری (Visual Editors) ویرایشگرهای خطی (Line Editors) وجود داشتند که شما تنها قادر به ویرایش یک خط متن در لحظه بودید. بدین منظور برای اعمال تغییر می‌بایست به یک ویرایشگر خطی می‌گفتید که به فلان خط خاص برو و تغییر مورد نظر را برای آن تعریف می‌کردید. با پدید آمدن ترمینال‌های تصویری، ویرایش تصویری ممکن شد. vi در حقیقت شامل یک ویرایشگر خطی قوی با نام ex می‌باشد و ما می‌توانیم در حین استفاده vi از دستورات ویرایش خط نیز استفاده کنیم.

بیشتر توزیع‌های لینوکس شامل نسخه حقیقی vi نیستند. به جای آن دارای یک نسخه بهینه یافته از vi با نام vim (که مخفف Vi Improved به معنای vi بهینه یافته)  می‌باشند که توسط Bram Moolenaar نوشته شده است. vim بهینه‌سازی قابل توجهی نسبت به نسخه قدیمی آن، یعنی vi دارد و معمولاً به صورت سمبلیک با نام vi لینک شده است. در درس‌های بعدی ما فرض می‌کنیم که از ابزاری با نام vi استفاده می‌کنیم که در حقیقت vim می‌باشد.

آغاز و توقف vi

به منظور شروع vi کافی است فرمان vi را در خط فرمان وارد کنید.

پس از وارد کردن صفحه نمایشی مثل زیر نمایش داده می‌شود:

همانطور که قبلاً درباره nano انجام دادیم، اولین کاری که بایستی یاد بگیرید نحوه خروج از ویرایشگر vi می‌باشد. بدین منظور فرمان :q را وارد کنید (توجه شود که علامت نقل‌قل بخشی از فرمان است).

پس از وارد کردن :q خط فرمان برمی‌گردد. اگر به هر دلیلی از vi خارج نشدید (معمولاً زمانی اتفاق می‌افتد که فایلی را تغییر داده‌ایم و هنوز ذخیره نکرده‌ایم)، ما می‌توانیم با کمک علامت تعجب، به vi بگوییم که واقعاً می‌خواهیم از برنامه خارج شویم:

در نهایت اگر باز هم در داخل vi گیر افتادید، چندین بار از کلید Esc استفاده کنید.

حالت‌های ویرایش

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

اگر فرمان با موفقیت اجرا شود، صفحه‌نمایشی مشابه تصویر زیر می‌بینیم:

همانطور که می‌بینید با استفاده از فرمان vi فایل جدیدی با نام foo.txt ایجاد کرده‌ایم. کارکترهای تیلدا (~) نشانگر این است که هیچ متنی در آن خط موجود نمی‌باشد. این نشان می‌دهد که ما فایلی خالی داریم.

دومین چیز مهمی که بایستی درباره vi بدانید این است که vi ویرایشگری Modal است. زمانی که vi آغاز می‌گردد، به حالت فرمان (Command Mode) اجرا می‌شود. در این حالت، تقریباً هر کلید یک فرمان محسوب می‌شود. پس اگر شروع به تایپ کردن کنیم، vi به هم ریخته و افتضاح به بار می‌آورد!

ورود به حالت درج (Insert Mode)

به منظور اضافه کردن متن به فایل خود بایستی ابتدا وارد حالت درج بشویم. برای این کار کلید I را فشار می‌دهیم.

اکنون می‌توانیم متن دلخواه خود را وارد کنیم:

برای خروج از حالت درج، کلید Esc را فشار دهید.

ذخیره کار خود

برای ذخیره تغییرات ایجاد شده در فایل، بایستی زمانی که در حالت فرمان (Command Mode) هستیم، فرمان :w را وارد کنیم و Enter را فشار دهیم. در این صورت فایل ذخیره می‌شود و ما پیام تایید دریافت می‌کنیم.

منبع: کتاب The Linux Command Line نوشته William E. Shotts

Related Articles

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Close