در ابتدا که کار کانفیگ سرور را شروع میکنید ممکن است هنوز نتوانید پکیج nano را برای ویرایش فایلها نصب کنید و بالاجبار باید از دستور vi برای ویرایش فایل استفاده کنید/
اموزش استفاده از دستور vi:
شروع کار با vi
به طور معمول کار با vi را با باز کردن یک فایل شروع میکنید. برای بازکردن فایلی به نام tmp/test دستور زیر را تایپ کنید:
به طور معمول کار با vi را با باز کردن یک فایل شروع میکنید. برای بازکردن فایلی به نام tmp/test دستور زیر را تایپ کنید:
$ vi /tmp/test
در صورتی که این یک فایل جدید باشد، چیزی مانند زیر را خواهید دید:
~
~
~
~
~
“/tmp/test” [New File]
علامت چشمک زن در بالای صفحه نشاندهنده محل اعلان شما است. پایین ترین خط صفحه اطلاعاتی در مورد آنچه در حال رخداد است، در اختیار شما قرار میدهد. در اینجا به شما اعلام کرده است که فایل جدیدی را باز کرده اید. کاراکترهای ~ که در بین خط بالا و پایین مشاهده میکنید فعلا به عنوان یک پر کننده موقت عمل میکنند زیرا هنوز متنی وجود ندارد. هیچ منو یا راهنما یا آیکونی وجود ندارد تا بفهمید چه کاری باید انجام دهید! فعلا حتی نمی توانید تایپ را شروع کنید. در این صورت کامپیوتر بوق زده، چیزی تایپ نخواهد شد.
نخستین چیزی که باید یاد بگیرید، تفاوت بین حالتهای مختلف عملکرد برنامه است. ویرایشگر vi در دو حالت فرمان و ورودی عمل میکند. قبل از اینکه بتوانید به فایل متنی اضافه کرده یا چیزی را تغییر دهید، باید دستوری تایپ کنید تا vi بداند که شما چه کاری میخواهید انجام دهید. یک فرمان معمولا حاوی یک یا دو حرف و یک عدد اختیاری است. برای وارد شدن در حالت ورودی، باید یک دستور ورودی را تایپ کنید. برای شروع یکی از دستورات زیر را تایپ کنید:
-a : به معنی Add است. میتوانید متن را در طرف راست اعلان وارد نمایید.
-i : به معنی Insert است. میتوانید متن را در طرف چپ اعلان فرمان هم وارد کنید.
نکته : بجای استفاده از فرامین a یا i میتوانید به سادگی کلید Insert را برای ورود به حالت ورودی فشار دهید.
شروع به تایپ کردن کنید. در بین تایپ خود کلید Enter را هم فشار دهید. پس از اینکه چند خطی را تایپ کردید، کلید Esc را فشار دهید. این کار شما را به حالت فرمان باز میگرداند. با استفاده از کلیدها و حروف زیر میتوانید در متن جابجا شوید:
-کلیدهای مکان نما : برای حرکت به چپ و راست و بالا و پایین میتوانید از کلیدهای مکان نما و همچنین از کلیدهای h (چپ) ، l (راست)، j (پایین) و k (بالا) استفاده کنید.
-کلید w : اعلان را به ابتدای کلمه بعدی هدایت میکند.
-کلید b : اعلان را به ابتدای کلمه قبلی باز میگرداند.
-کلید صفر : اعلان را به ابتدای خط جاری هدایت میکند.
-کلید $ : اعلان را به انتهای خط جاری هدایت میکند.
-کلید H : اعلان را به اول نخستین خط صفحه حرکت میدهد.
-کلید M : اعلان را به اول خط میانی صفحه حرکت میدهد.
-کلید L : اعلان را به اول خط پایانی صفحه حرکت میدهد.
خوب اکنون تنها چیزی که باقی میماند، چگونگی پاک کردن متن است:
-کلید x : کاراکتر زیر اعلان را پاک میکند.
-کلید X : کاراکتر قبل از اعلان را پاک میکند.
-فرمان dw : از کاراکتر جاری تا پایان کلمه را پاک میکند.
-فرمان d$ : از کاراکتر جاری تا پایان خط را پاک میکند.
-فرمان d0 : از کاراکتر ماقبل تا ابتدای خط را پاک میکند.
برای ذخیره تغییرات و خروج از برنامه هم میتوانید از کلیدهای زیر استفاده کنید:
-فرمانZZ : تغییرات را ذخیره کرده و از برنامه خارج میشود.
-کلید w : تغییرات را ذخیره کرده ولی میتوانید به ویرایش ادامه دهید.
-فرمان wq : همانند فرمان ZZ است.
-کلید q : از برنامه در صورتی خارج میشود که تمام تغییرات ذخیره شده باشند.
-فرمان q! : از برنامه خارج شده و تغییرات را نادیده فرض میکند.
نکته : همانند تمام ویرایشگرهای متنی، در vi هم میتوانید از کلیدهای Home، End، PgUP و PgDWN برای حرکت در فایل و خطوط و از کلید Del برای پاک کردن متن استفاده کنید.
نکته : در صورتی که اشتباها به فایلی آسیب رساندید، فرمان !q بهترین روش برای خروج و ذخیره نکردن تغییرات است. برای undo کردن تغییرات کافی است از دستور u استفاده کنید.
تا اینجا مطالب زیادی در مورد vi یاد گرفته اید. البته باز در مورد دستورات vi بیشتر صحبت خواهم کرد. اکنون اجازه دهید به چند نکته اشاره کنم که مراحل اولیه کار کردن شما را با vi آسانتر کند:
-کلید Esc : فراموش نکنید که فشردن این کلید شما را به حالت فرمان باز میگرداند. این کلید به همراه دستور ZZ تغییرات را ذخیره کرده و از فایل خارج میشود.
-کلید u : فشردن این کلید، تغییرات انجام شده را از میان برده و به حالت قبلی باز میگردد. (undo).
-کلیدهای Ctrl+r : این کلید برعکس کلید u است. عمل تکرار یا redo را انجام میدهد.
-کلید Capslock : فرامین و متن شما با حروف بزرگ تایپ شده و باعث خواهد شد تا برخی فرامین کار نکنند. دقت کنید.
-دستور ! : در صورتی که در vi هستید، میتوانید با استفاده از تایپ علامت تعجب و سپس دستور مورد نظر، دستورات لینوکس را از درون vi اجرا کنید.پس از اتمام تایپ دستورات کلید Enter را فشار دهید تا به برنامه باز گردید. حتی میتوانید با تایپ !bach یک پوسته فرمان از درون vi باز کرده و با آن کارکنید. پس از اتمام کار کافی است که با تایپ exit به برنامه باز گردید.قابلیت بسیار جالبی است!
-INSERT : هنگامی که در حالت ورودی هستید، این کلمه در پایین صفحه نوشته میشود.سایر پیغامها هم در همین مکان نمایش داده میشوند.
-کلیدهای Ctrl+g : در صورتی که فراموش کردید در حال ویرایش کدام فایل هستید، با فشار دادن این کلیدها نام فایل و شماره خطی که در آن هستید، تعداد خطوط فایل و … نمایش داده میشود.
حرکت در میان فایل
بجز چند دستور حرکت بین خطوط ی که در بالا شرح داده شدند، راههای دیگری نیز برای حرکت در فایل وجود دارد. برای تمرین این کار نیاز به یک فایل تقریبا بزرگ دارید. برای این کار میتوانید فایل var/log/messages را در دایرکتوری tmp کپی کرده و باز کنید. با کلیدهای زیر میتوانید در فایل حرکت کنید:
بجز چند دستور حرکت بین خطوط ی که در بالا شرح داده شدند، راههای دیگری نیز برای حرکت در فایل وجود دارد. برای تمرین این کار نیاز به یک فایل تقریبا بزرگ دارید. برای این کار میتوانید فایل var/log/messages را در دایرکتوری tmp کپی کرده و باز کنید. با کلیدهای زیر میتوانید در فایل حرکت کنید:
-Ctrl+f : یک صفحه به جلو میروید.
-Ctrl+b : یک صفحه به عقب باز میگردید.
-Ctrl+d : نیم صفحه به جلو میروید.
-Ctrl+u : نیم صفحه به عقب باز میگردید.
-G : به آخرین خط فایل حرکت میکنید.
-۱G : به نخستین خط فایل حرکت میکنید. البته به جای عدد ۱ از هر عددی میتوانید استفاده کنید و به همان خط حرکت خواهید کرد.
جستجوی متن
برای جستجوی متن میتوانید از کلیدهای اسلش (/) و علامت سوال استفاده کنید. همچنین امکان استفاده از کاراکترهای ویژه نیز وجود دارد. اسلش عمل جستجوی فایل بعد از اعلان و علامت سوال عمل جستجوی فایل قبل از اعلان را انجام میدهد. مثلاhello/ و hello? عمل جستجو رو به جلو و عقب را برای لغت hello انجام میدهند.
برای جستجوی متن میتوانید از کلیدهای اسلش (/) و علامت سوال استفاده کنید. همچنین امکان استفاده از کاراکترهای ویژه نیز وجود دارد. اسلش عمل جستجوی فایل بعد از اعلان و علامت سوال عمل جستجوی فایل قبل از اعلان را انجام میدهد. مثلاhello/ و hello? عمل جستجو رو به جلو و عقب را برای لغت hello انجام میدهند.
استفاده از شماره ها در کنار فرمانها
در صورتی که قبل از یک دستور یک عدد قید نمایید آن دستور به تعداد آن عدد تکرار خواهد شد. برای مثال :
در صورتی که قبل از یک دستور یک عدد قید نمایید آن دستور به تعداد آن عدد تکرار خواهد شد. برای مثال :
۳dw : سه کلمه بعدی را پاک میکند.
۵cl : پنج حرف بعدی را تغییر میدهد.
۱۲j : دوازده خط به پایین حرکت میکند.