منبع اصلی نوشتار زیر در این لینک قرار دارد

راهنمای ویرایشگر vi – بخش دوم

در بخش نخست راهنمای vi با مفهوم دو مد “Insert” و “Command” آشنا شدیم. همچنین چگونگی باز کردن یک فایل و ذخیره (Save) کردن تغییرات توسط دستور ها، بستن و بیرون آمدن و بازگشت به محیط خط فرمان از vi نیز گفته شد. در این مطلب چگونگی حرکت مکان نما (Cursor) میان کارکتر ها و خط ها گفته خواهد شد. برای امتحان کردن مطلب های پیش رو، یک فایل دلخواه را باز و امتحان کنید. در vi مجموعه ای از کلید ها برای حرکت دادن مکان نما میان کارکتر ها و خطوط وجود دارد که گفته خواهد شد. توجه کنید که در تمامی موارد این مطلب اگر در مد Insert هستید، نخست باید Esc را کلیک کنید تا از این مد خارج شوید.

  • برای حرکت دادن مکان نما از یک کارکتر به کارکتر دیگر و به سمت چپ از کلید های h یا -> (Leftwards Arrow) استفاده کنید.
  • برای حرکت دادن مکان نما از یک کارکتر به کارکتر دیگر و به سمت راست از کلید های l یا Space و یا <- (Rightwards Arrow) استفاده کنید.
  • برای حرکت دادن مکان نما از یک کارکتر به کارکتر دیگر و به سمت خط پایینی از کلید های j یا Downwards Arrow استفاده کنید.
  • برای حرکت دادن مکان نما از یک کارکتر به کارکتر دیگر و به سمت خط پایینی از کلید های k یا Upwards Arrow استفاده کنید.

Arrow Key ها در هر دو مد “Insert” و “Command” می توانند استفاده شوند. با کلیک کلید عدد 0 (صفر) به ابتدای خطی که مکان نما در آن قرار دارد می روید. همچنین از $ برای رفتن به انتهای خطی که مکان نما در آن قرار دارد استفاده کنید.

  • اگر در مد Insert هستید، نخست با کلیک کلید Esc از آن خارج شوید.
  • سپس از کلید h یا l برای حرکت مکان نما به سمت چپ یا راست استفاده کنید.
  • از کلید عدد 0 برای رفتن به ابتدای خط و از کلید $ برای رفتن به انتهای خط استفاده کنید.

برای اینکه از خط فعلی به انتهای X خط پایینتر بروید از $X استفاده کنید. به طور مثال $3 به انتهای سه  خط پایینتر از خط فعلی می رود.

برای حرکت میان خطوط از کلید G استفاده می کنیم. برای انتقال مکان نما به خط x  از nG استفاده می کنید. به طور مثال برای پرش و انتقال مکان نما به خط 12 از 12G استفاده می کنیم. روش دیگر برای این کار استفاده از X: است. این حالت را با آنچه که در بخش نخست برای ذخیره تغییرات و خروج از vi اشتباه نگیرید. در اینجا X نشانه شماره خط است، مثلا 12: یعنی پرش به هط دوازدهم از فایل.

  • اگر در مد Insert هستید نخست برای خروج از آن Esc را کلیک کنید.
  • سپس کلید : را فشرده و برای رفتن به خط X ام عدد را جلوی آن وارد کنید. مثلا برای رفتن به خط 122 ام باید 122: را نوشته و Enter بزنید.

برای رفتن به نخستین خط از 1G یا ]] (یعنی فشردن دوبار ]])، برای رفتن به آخرین خط از G یا [[ (یعنی فشردن دوبار [[)، برای حرکت مکان نما خط به خط و از بالا به پایین کلید + (بعلاوه)، برای انتقال مکان نما به دو خط پایینتر از +X استفاده کنید که X یک عدد است. مثلا برای انتقال مکان نما از خط فعلی و پرش به سه خط پایینتر از +3 استفاده کنید. در مقابل علامت +، علامت – (تفریق) وجود دارد که فشردن تنهای آن، مکان نما را خط به خط و از پایین به بالا حرکت می دهد. همچنین برای انتقال و پرش به X خط بالاتر از +X استفاده کنید.

  • فایل مورد نظر را باز کنید و یا اینکه اگر در مد Insert هستید Esc برای خروج از آن کلیک کنید.
  • کلید G را برای رفتن به آخرین خط کلیک کنید.
  • نماد – را 3 بار کلیک کنید تا سه خط به بالا بیایید.
  • 1G را استفاده کنید تا به اولین خط بروید.
  • $ را کلیک کنید تا به انتهای خط اول بروید.
  • 7: را اجرا کنید تا به خط هفتم بروید.
  • + را یکبار فشرده تا به خط هشتم بروید.

اگر می خواهید بدانید که مکان نما در حال حاظر بر روی کدام خط قرار دارد می توانید از سه روش استفاده کنید :

  • یکی از سه دستور #: یا num: و یا =. (نقطه و به دنبال آن مساوی) را استفاده کنید.
  • برای نشان دادن تعداد خطوط فایل از =: (اول یک : و به دنبال آن =) را استفاده کنید.
  • برای نشان دادن خط فعلی که مکان نما در آن قرار دارد به همراه تعداد کل خطوط فایل از ctl+g (حرف g کوچک) استفاده کنید.

 برای پرش و انتقال مکان نما به یک کارکتر مشخص بعدی از دستور fX: استفاده کنید. منظور اینکه برای انتقال مکان نما به محل کارکتری مشخص (مثلا کارکتر a) از fa: استفاده می کنیم. به جای X باید کارکتر را جایگزین کنیم. همچنین برای انتقال مکان نما به محل کاراکتر قبلی از FX: استفاده کنیم. به طور مثال Fa: مکان نما را به محلی که a در قبل از محل فعلی مکان نما می برد.

برای حرکت مکان نما میان کلمه ها (Words) شش روش وجود دارد. vi کلمات را به دو دسته : رشته های با کاراکتر های اسکی (ASCII) قابل چاپ و رشته های جدا شده با Whitespace ها مثل Space و Tab.

  • برای پرش جلو به ابتدای جمله بعدی کلید w (حرف w کوچک) را فشار دهید.
  • برای پرش به انهتای جمله کنونی کلید e را فشار دهید.
  • برای پرش عقب به ابتدای جمله قبلی کلید b را فشار دهید.

در صورتی که رشته ها با فضا خالی (Space و Tab) از هم جدا شده باشند :

  • برای پرش جلو به ابتدای جمله بعدی کلید W (حرف W کوچک) را فشار دهید.
  • برای پرش به انهتای جمله کنونی کلید E را فشار دهید.
  • برای پرش عقب به ابتدای جمله قبلی کلید B را فشار دهید.

البته این امکان وجود دارد یک قبل هر کدام از روش های بالا عددی برای انتقال مکان نما به جمله مشخص شده استفاده کنید. همچنین باید شش روش بالا را در حالت Command Mode انجام دهید. برای انتقال مکان نما میان پاراگراف ها از { و } استفاده می کنیم. مجزا کننده میان پاراگراف ها یک خط خالی میان هر کدام در نظر گرفته می شود.

  • برای انتقال (پرش) مکان نما به پاراگراف بعدی از { استفاده کنید.
  • برای انتقال (پرش) مکان نما به پاراگراف قبلی از } استفاده کنید.

البته می توانید پیش از هر کدام از دو روش بالا عددی را قبل از { یا } بیاورید. به طور مثال برای پرش به جلو به 15 پاراگراف بعدی از {15 استفاده می کنیم (از محل پاراگراف فعلی رو به جلو یا عقب پرش (انتقال) می کند)

همچنین با vi می توانید در فایل باز شده جستجو کنید. جستجو می تواند از محل کنونی مکان نما رو به جلو و یا رو به عقب باشد. برای

  • جستجوی رو به جلو از SRTRING/ استفاده کنید. (اگر در مد Insert هستید برای خارج شدن از آن کلید Esc را کلیک کنید)
  • جستجوی رو به عق از STRING? استفاده کنید.
  • برای پیدا کردن و رفتن به محل بعدی رشته پیدا شده نسبت به محل فعلی کلید n را فشار دهید.
  • برای پیدا کردن و رفتن به محل قبلی رشته پیدا شده نسبت به محل فعلی کلید N را فشار دهید.

البته در دو حالت فوق رشته ای که آنرا جستجو می کنیم، یک رشته واضح است و نه یک Regular expression. مانند پیدا کردن رشته ی Config (در جستجو میان حروف کوچک و بزرگ تفاوت قایل می شود). نخستین خط زیر برای جستجوی رشته Config از محل فعلی مکان نما و رو به جلو و دومین خط زیر برای جستجوی رشته Config از محل فعلی مکان نما و رو به عقب استفاده می شود.

Config/

Config?



برچسب ها : ,