PDA

مشاهده نسخه کامل : راهنمای استفاده از ویرایشگر متن Vi



MKH
29-06-07, 12:00
راهنمای استفاده از ویرایشگر متن Vi - Vi IMproved

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

Only the registered members can see the link



در این مقاله سعی خواهم کرد تا راهنمای مفیدی در مورد ویرایشگر vi در اختیار شما قرار دهم. پس از یادگیری Vi، هر جا به تغغیر فایلهای پیکربندی نیاز داشتید، میتوانید از آن استفاده کنید. ممکن است استفاده از vi در ابتدا دشوار به نظر برسد. ولی پس از مدتی میتوانید کارهای ویرایشی خود را با استفاده از آن با سرعتی بسیار انجام دهید. دستان شما هرگز نیاز ندارند تا از روی کیبورد جدا شده ماوس یا کلیدهای F را لمس کنند.


Only the registered members can see the linkنکته : برای انجام تغییر در بسیاری از فایلهای پیکربندی که خارج از دایرکتوری خانگی شما قرار دارند، نیاز دارید تا بصورت کاربر ریشه وارد سیستم شده باشید. برای بدست آوردن مجوز سطح ریشه حتما لازم نیست تا از سیستم خارج شده و مجددا وارد شوید. میتوانید یک پنجره ترمینال باز کرده و با تایپ دستور su و سپس کلمه عبور ریشه، مجوز های کاربر ریشه را بدست آورده و فایل مورد نظر خود را ویرایش نمایید. برای خروج از حالت کاربر ریشه در ترمینال مورد نظر کافی است دستور exit را تایپ کنید.


شروع کار با vi

به طور معمول کار با vi را با باز کردن یک فایل شروع میکنید. برای بازکردن فایلی به نام tmp/test دستور زیر را تایپ کنید:

$ vi /tmp/test

در صورتی که این یک فایل جدید باشد، چیزی مانند زیر را خواهید دید:

~

~

~

~

~

"/tmp/test" [New File]

علامت چشمک زن در بالای صفحه نشاندهنده محل اعلان شما است. پایین ترین خط صفحه اطلاعاتی در مورد آنچه در حال رخداد است، در اختیار شما قرار میدهد. در اینجا به شما اعلام کرده است که فایل جدیدی را باز کرده اید. کاراکترهای ~ که در بین خط بالا و پایین مشاهده میکنید فعلا به عنوان یک پر کننده موقت عمل میکنند زیرا هنوز متنی وجود ندارد. هیچ منو یا راهنما یا آیکونی وجود ندارد تا بفهمید چه کاری باید انجام دهید! فعلا حتی نمی توانید تایپ را شروع کنید. در این صورت کامپیوتر بوق زده، چیزی تایپ نخواهد شد.

نخستین چیزی که باید یاد بگیرید، تفاوت بین حالتهای مختلف عملکرد برنامه است. ویرایشگر vi در دو حالت فرمان و ورودی عمل میکند. قبل از اینکه بتوانید به فایل متنی اضافه کرده یا چیزی را تغییر دهید، باید دستوری تایپ کنید تا vi بداند که شما چه کاری میخواهید انجام دهید. یک فرمان معمولا حاوی یک یا دو حرف و یک عدد اختیاری است. برای وارد شدن در حالت ورودی، باید یک دستور ورودی را تایپ کنید. برای شروع یکی از دستورات زیر را تایپ کنید:

-a : به معنی Add است. میتوانید متن را در طرف راست اعلان وارد نمایید.

-i : به معنی Insert است. میتوانید متن را در طرف چپ اعلان فرمان هم وارد کنید.


Only the registered members can see the linkنکته : بجای استفاده از فرامین 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! : از برنامه خارج شده و تغییرات را نادیده فرض میکند.


Only the registered members can see the linkنکته : همانند تمام ویرایشگرهای متنی، در vi هم میتوانید از کلیدهای Home، End، PgUP و PgDWN برای حرکت در فایل و خطوط و از کلید Del برای پاک کردن متن استفاده کنید.



Only the registered members can see the linkنکته : در صورتی که اشتباها به فایلی آسیب رساندید، فرمان !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 کپی کرده و باز کنید. با کلیدهای زیر میتوانید در فایل حرکت کنید:

-Ctrl+f : یک صفحه به جلو میروید.

-Ctrl+b : یک صفحه به عقب باز میگردید.

-Ctrl+d : نیم صفحه به جلو میروید.

-Ctrl+u : نیم صفحه به عقب باز میگردید.

-G : به آخرین خط فایل حرکت میکنید.

-1G : به نخستین خط فایل حرکت میکنید. البته به جای عدد ۱ از هر عددی میتوانید استفاده کنید و به همان خط حرکت خواهید کرد.

جستجوی متن

برای جستجوی متن میتوانید از کلیدهای اسلش (/) و علامت سوال استفاده کنید. همچنین امکان استفاده از کاراکترهای ویژه نیز وجود دارد. اسلش عمل جستجوی فایل بعد از اعلان و علامت سوال عمل جستجوی فایل قبل از اعلان را انجام میدهد. مثلاhello/ و hello? عمل جستجو رو به جلو و عقب را برای لغت hello انجام میدهند.

استفاده از شماره ها در کنار فرمانها

در صورتی که قبل از یک دستور یک عدد قید نمایید آن دستور به تعداد آن عدد تکرار خواهد شد. برای مثال :

3dw : سه کلمه بعدی را پاک میکند.

5cl : پنج حرف بعدی را تغییر میدهد.

12j : دوازده خط به پایین حرکت میکند.

اکنون باید تا حدود زیادی کار کردن با vi را یاد گرفته باشید.