ویرایشگر vi – قسمت اول (آموزش لینوکس LPIC1-101)
معرفی ویرایشگر وآي (VI Editor)
یادگیري خط فرمان لینوکس درست شبیه تبدیل شدن به یک پیانیست حرفه اي کاري نیست که یک شبکه انجام شود.
این کار نیازمند سال ها تلاش است.
در این فصل ما شما را با ویرایشگر متن VI که یکی از برنامه هاي هسته اي و سنتی لینوکس است آشنا می کنیم.
VI به دارا بودن رابط کاربري سخت معروف است ولی زمانی که یک حرفه اي را می بینید که نشسته و از کیبورد استفاده می کند مجذوب هنر وي خواهیم شد.
ما در این قسمت نمی خواهیم تبدیل به یک حرفه اي شویم ولی در پایان این فصل نحوه کار با VI را خواهید آموخت.
چرا بایستی از ویرایشگر متن VI استفاده کنیم؟
در عصر ویرایشگرهاي مدرن گرافیکی و همچنین ویرایشگرهاي مبتنی بر متن مثل nano چرا بایستی vi را یاد بگیریم.
این سوالی است که ممکن است براي شما هم ایجاد شده باشد.
براي این سوال چندین دلیل و پاسخ خوب وجود دارد:
1. vi همیشه در دسترس است.
در صورتی که شما سیستمی داشته باشید که داراي رابط گرافیکی نباشد، vi نجات بخش شما خواهد بود چون که vi همیشه در دسترس است.
چه سیستم هایی ممکن است چنین شرایطی را داشته باشند؟!
مثل یک سرور ریموت و یا یک سیستمی که رابط گرافیکی پیکربندي آن از بین رفته باشد.
nano در حالی که بسیار رایج است ولی هنوز سراسري نیست.
POSIX که یک استاندارد براي سازگاري برنامه ها در سیستم هاي یونیکس هست نیاز دارد تا vi موجود باشد.
2. vi سبک و سریع است.
براي بسیاري از کارها راحت تر است که vi را بازکنید تا اینکه یک ویرایشگر متنی گرافیکی را باز کنید و منتظر بارگذاري چندین مگابایت برنامه شوید.
به علاوه vi به منظور تایپ سریع طراحی شده است.
همانطور که خواهیم دید یک کاربر حرفه اي vi هنگام تایپ هرگز دست خود را از روي صفحه کلید بلند نخواهد کرد.
تاریخچه اي درباره vi
اولین نسخه ویرایشگر متن vi در سال 1976 توسط Bill Joy نوشته شد.
وي یک دانشجوي دانشگاه برکلی کالیفورنیا بود که بعدها به میکروسیستم هاي شرکت سان رفت.
vi نام خود را از کلمه visual (تصویري) گرفته است
چون که شما را قادر به می سازد که با جابجا کردن مکان نما در داخل ترمینال به صورت تصویري و ویژوال ویرایش کنید.
قبل از ویرایشگرهاي تصویري (Visual Editors) ویرایشگرهاي خطی (line Editors) بودند که شما تنها قادر به ویرایش یک خط متن در لحظه بودید.
به این منظور براي اعمال تغییر شما می بایستی به یک ویرایشگر خطی می گفتید که به فلان خط خاص برو و تغییر مورد نظر را براي آن تعریف می کردید.
با پدید آمدن ترمینال هاي تصویري، ویرایش تصویري ممکن شد.
vi در حقیقت شامل یک ویرایشگر خطی قوي با نام ex می باشد و ما می توانیم در حین استفاده از vi از دستورات ویرایش خط نیز استفاده کنیم.
بیشتر توزیع هاي لینوکس شامل نسخه حقیقی vi نیستند.
به جاي آن داراي یک نسخه بهینه یافته از vi با نام vim (که مخفف Vi Improved که به معنی vi بهینه یافته است) می باشند که توسط Bram Moolenaar نوشته شده است.
vim یک بهینه سازي قابل توجهی نسبت به نسخه قدیمی آن vi دارد و معمولا به صورت سیمبلیک با نام vi لینک شده است.
آغاز و توقف vi
به منظور شروع vi کافی است دستور vi را در خط فرمان وارد کنید.
پس از وارد کردن صفحه نمایشی مثل زیر نمایش داده می شود:
اولین کاري که بایستی یاد بگیرید نحوه خروج از ویرایشگر vi می باشد.
به این منظور دستور q: را وارد کنید (توجه کنید که دو نقطه بخشی از دستور است).
پس از وارد کردن q: خط فرمان بر می گردد.
اگر به هر دلیلی از vi خارج نشدید (معمولا زمانی اتفاق می افتد که یک فایل را تغییر داده ایم و هنوز ذخیره نکرده ایم)
ما می توانیم به vi بگوییم که ما واقعا می خواهیم از برنامه خارج شویم.
چگونه با اضافه کردن علامت تعجب!
به این صورت:
در نهایت اگر بازهم در داخل vi گیر کردید چند بار کلید Esc را فشار دهید.
حالت هاي ویرایش
خب vi را دوباره اجرا کرده و این بار نام یک فایلی که وجود ندارد را وارد می کنیم.
این شیوه ایجاد یک فایل جدید می باشد:
اگر دستور با موفقیت اجرا شود صفحه نمایشی مشابه زیر می بینیم:
همانطور که می بینید با استفاده از دستور vi یک فایل جدید با نام faraznetwork.txt ایجاد کردیم.
کاراکترهاي تیلدا ~ نشانگر این است که هیچ متنی در آن خط موجود نمی باشد.
این نشان می دهد که ما یک فایل خالی داریم.
هنوز چیزي تایپ نکنید!
دومین چیز مهمی که بایستی درباره vi بدانید این است که vi یک ویرایشگر مودال (Modal Editor) است.
زمانی که viآغاز می گردد، به حالت دستوري (Command Mode) اجرا می شود.
در این حالت، تقریبا هر کلید یک دستور حساب می شود، پس اگر شروع به تایپ کردن کنیم،
vi قاطی می کند به همین دلیل گفتم شروع به تایپ کردن نکنید.
ورود به حالت درج (Insert Mode)
به منظور اضافه کردن متن به فایل خود بایستی ابتدا وارد حالت درج شویم.
براي این کار کلید I را فشار می دهیم.
اکنون می توانیم متن دلخواه خود را وارد کنیم:
براي خروج از حالت درج کلید ESC را فشار دهید.
براي ذخیره تغییرات ایجاد شده در فایل بایستی زمانی که در حالت دستور (Command Mode) هستیم،
دستور w: را وارد کنیم و Enter را فشار دهیم.
در این صورت فایل ذخیره می شود و ما یک پیام تایید دریافت می کنیم.
جابجا کردن مکان نما در vi
وقتی که در حالت فرمان (Command Mode) در برنامه vi هستیم،
vi دستورهای زیادی به منظور جابجا کردن مکان نما را در اختیار ما قرار می دهد که برخی از آنها به همراه less به کار می روند.
در جدول زیر لیستی از این فرمان ها را مشاهده می کنید:
به چه دلیل کلیدهاي H , J , K و L به منظور جابجایی مکان نما به کار می روند؟
به این دلیل که وقتی vi براي اولین بار نوشته شد،
همه ترمینال هاي تصویري داراي کلیدهاي جهت نما نبودند
و تایپیست هاي حرفه اي می توانستند از کلیدهاي عادي براي جابجایی مکان نما استفاده کنند بدون نیاز به اینکه دست خود را از روي صفحه کلید بردارند.
بسیاري از دستورات در vi را می توان با یک شماره پیشوند کرد.
مثل دستور G که در جدول بالا نمایش داده شد.
با پیشوند کردن دستورات با یک شماره، ممکن است تعداد دفعاتی که یک دستور اجرا می شود را تعیین کنیم.
براي مثال: دستور j عمل جابجایی به خط پایینی را انجام می دهد.
حال دستور j5 وظیفه جابجایی به 5 خط پایینی را انجام می دهد.
ویرایش ابتدایی
در vi بیشتر ویرایش ها شامل عملیات هاي ساده همچون درج متن، حذف متن و جابجایی متن با دستورات کپی و چسباندن است.
در این درس با انواع مختلف عملیات هاي ویرایش متن در داخل vi آشنا می شویم:
افزودن متن
vi چندین راه مختلف به منظور ورود به حالت درج (insert mode) دارد.
با دستورi به منظور ورود به حالا درج آشنا شدید.
به فایل ویرایشی خود در داخل vi باز گردید.
اگر بخواهید کمی متن به آخر این جمله اضافه کنید، متوجه خواهیم شد که دستور i این کار را انجام نمی دهد.
چون که در حالت درج نمی توانیم مکان نما را به آخر خط انتقال دهیم.
vi دستوري را را به منظور درج متن فراهم کرده که دستور a نامیده می شود.
اگر که مکان نما را به آخر خط ببریم (دقت کنید که در داخل حالت درج نباشید) و a را تایپ کنیم، مکان نما به پایان خط رفته و vi وارد حالت درج می شود.
این کار شما را قادر می سازد تا متن بیشتری به پایان اضافه کنید.
به یاد داشته باشید که براي خارج شدن از حالت درج کلید Esc را بایستی فشار داد.
به دلیل اینکه ما همیشه می خواهیم به پایان یک خط متن اضافه کنیم،
vi یک کلید میانبر را به این منظور در نظر گرفته است تا به آخر خط انتقال داده شویم و درج را آغاز کنیم. این دستور A می باشد.
امتحان می کنیم و خطوط جدیدي را به فایل خود اضافه می کنیم.
ابتدا مکان نما را با استفاده از دستور 0 به اول خط می آوریم.
سپس دستور A را امتحان می کنیم و متن مورد نظر را وارد می کنیم:
مجدد براي خروج از حالت درج کلید Esc را فشار دهید.
همانطور که می بینید دستور A بسیار مفیدتر از a هست چون که هم ما را به انتهاي خط می برد و هم ما را وارد حالت درج می کند.
بازکردن یک خط
یک راه دیگر که از آن به منظور درج متن استفاده می کنیم باز کردن یک خط است.
این کار یک خط خالی بین خط هاي موجود درج می کند و ما را وارد حالت درج می کند.
داراي دو نوع مختلف است که در جدول زیر می بینید:
ما می توانیم این را به صورت زیر توضیح دهیم.
مکان نما را به خط 3 برده و سپس کلید o را فشار دهید:
همانطور که می بینید یک خط جدید در زیر خط شماره 3 ایجاد شد و ما وارد حالت درج شدیم.
با فشار دادن کلید Esc از حالت درج خارج شوید. به منظور خنثی کردن تغییر کلید u را فشار دهید.
این بار کلید O را فشار دهید:
همانطور که می بینید این بار یک خط جدید در بالاي خط 3 ایجاد می کنیم.
براي خارج شدن از حالت درج کلید Esc و براي خنثی کردن تغییر کلید u را فشار دهید.
حذف متن
همانطور که باید انتظار داشته باشید vi راههاي مختلفی را به منظور حذف متن براي ما فراهم می آورد که داراي یک یا دو کلید است.
اول کلید X که یک کاراکتر را در موقعیت مکان نما حذف می کند.
X ممکن است با یک شماره پیشوند شود که نشانگر این است که چه تعداد کاراکتر در موقعیت مکان نما حذف خواهند شد.
کلید D هدف کلی تري دارد.
شبیه X کلید D نیز ممکن است با شماره پیشوند شود که تعداد دفعاتی که حذف انجام خواهد شد را مشخص می کند.
به علاوه، D همیشه با یک دستور جابجایی همراه می شود که اندازه حذف را کنترل می کند.
در جدول زیر برخی از این مثال ها آورده شده است:
خب حالت حذف را با دستور d امتحان می کنیم.
مکان نما را بر روي کلمه linux انتقال داده و dw را تایپ کنید،
همانطور که می بینید کلمه linux حذف شد:
به منظور حذف از موقعیت مکان نما تا پایان خط دستور $d را وارد کنید:
به منظور حذف از خط فعلی تا پایان فایل dG را وارد کنید:
جهت مشاهده دوره های آموزشی بر روی این لینک کلیک نمایید.
جدیدترین اخبار مجموعه فراز نتورک را در این صفحه اجتماعی دنبال کنید.
نویسنده: موسی رشوند
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.