آموزش ویرایشگر vi لینوکس

سرور مجازی
آموزش ویرایشگر vi لینوکس
تاریخ انتشار: 4 ماه پیش تعداد بازدید: 266 دسته بندی: لینوکس

در این مطلب ، میانبرهای ویرایشگر  vi، در لینوکس  را بررسی خواهیم کرد که می‌توانند توسط مهندسان و توسعه دهندگان DevOps استفاده شود؛ ویرایشگر vi اغلب برای ویرایش فایل‌ها استفاده می‌شود. با این حال، بر خلاف ویرایشگرهای رابط کاربری گرافیکی، کاربرانی که برای اولین بار ویرایشگر vi را تجربه می‌کنند، به دلیل نیاز به فشردن کلیدهای مختلف برای کنترل ویرایش، سر در گم می‌شوند.


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

در این مطلب، میانبرهای ضروری ویرایشگر vi را که می‌توانید در فعالیت‌های روزانه لینوکس استفاده کنید، پوشش خواهم داد.


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

قبل از ورود به میانبرها، باید پنج حالت ویرایشگر Vim را درک کنید.

پنج حالت در ویرایشگر VI وجود دارد.

 

  • حالت Normal
  • حالت Insert
  • حالت Visual
  • حالت Command
  • حالت Replace


حالت Normal

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

 

میان‌بر (Shortcut) توضیحات
h حرکت یک کاراکتر به چپ (4h چهار کاراکتر را به چپ منتقل می‌کند)
j حرکت یک خط به پایین (4j چهار خط پایین)
k حرکت یک خط به بالا (5k  پنج خط به بالا)
l حرکت یک کاراکتر به راست (8l هشت کاراکتر به راست)

در ادامه، میانبرهای مرور کلمات را یاد خواهیم گرفت. در اینجا کاراکترهای کوچک و بزرگ کارکردهای متفاوتی دارند.

میان‌بر (Shortcut) توضیحات
w به ابتدای کلمه می‌رود. W بعد از فضای خالی به ابتدای کلمه بعدی می‌رود.
b  به ابتدای کلمه قبل می‌رود. B قبل از فضای خالی به ابتدای کلمه قبلی می‌رود. 
e تا آخر کلمه می‌رود. E قبل از فضای خالی به انتهای کلمه می‌رود.

میانبر بعدی در بیشتر مواقع هنگام کار با فایل‌ها مورد نیاز است.

میان‌بر (Shortcut) توضیحات
0 به ابتدای خط می‌رود
$ به انتهای خط می‌رود



حالت Insert

در حالت insert می‌توانید فایل را ویرایش کنید. در زیر میانبرهایی برای ویرایش آمده است. باز هم، کاراکترهای کوچک و بزرگ در اینجا کارکردهای متفاوتی دارند.

میان‌بر (Shortcut) توضیحات
i ویرایشگر VI برای درج موارد بیشتر وارد می‌شود. (I –> برای خط در حالت درج به ابتدای خط می‌رود)
a مکان نما به کاراکتر بعدی در حالت درج حرکت می‌کند (A - به انتهای خط در حالت درج حرکت می‌کند)
o  یک مورد جدید را از موقعیت فعلی مکان نما در حالت insert می‌کند. (O - یک خط جدید در بالای موقعیت فعلی مکان نما در حالت درج قرار می‌دهد)

 

حالت Visual

حالت بصری انتخاب و تغییر متن در ویرایشگر VI را آسان می کند. برای وارد شدن به حالت بصری کافی است v را وارد کنید.

شما قادر خواهید بود چندین خط را انتخاب کنید.
 


حالت Command

در حالت فرمان، می توانید دستورات را اجرا کنید و متن را دستکاری کنید. به عنوان مثال، یک متن را در کل فایل پیدا کرده و جایگزین کنید.

برای کار با حالت فرمان باید موارد زیر را بدانید.

میان‌بر (Shortcut) توضیحات
s برای شروع حالت فرمان
% تمام خطوط فایل را در نظر می گیرد
s برای تعویض
g/ تغییر جهانی

در ادامه مطلب به چند نمونه از حالت فرمان خواهیم پرداخت.

حالت Replace

حالت جایگزینی برای جایگزینی متون موجود در یک سند است.

مکان نما را در اولین کاراکتر یک کار قرار دهید و در حالت نرمال، R را وارد کنید. هنگامی که شروع به تایپ کردید، کلمه جایگزین می‌شود.

راه اندازی VI Editor Environment

قبل از ورود به میانبرها و دستورات، باید تنظیمات ویرایشگر vi را درک کنید. شما می توانید تمام پارامترهای ویرایشگر vi ضروری را در فایل ~/.vimrc که به طور پیش فرض بارگذاری می‌شود، تنظیم کنید.

اگر فایل vimrc را ندارید، با دستور زیر آن را  ایجاد کنید


touch ~/.vimrc

در زیر پارامترهای رایجی که ممکن است در فایل vimrc نیاز داشته باشید آورده شده است.


set number
set autoindent
set shiftwidth=4
set softtabstop=4
set expandtab


پارامتر set number شماره خط را برای ویرایشگر vi شما تنظیم می‌کند.

set number

می توانید با اجرای :set nonumber از ویرایشگر، این را به طور موقت set و unset کنید

برای پرش به یک شماره خط خاص، : را تایپ کرده و Enter را فشار دهید.

به عنوان مثال، 10: شما را به خط شماره دهم می‌برد.

set relativenumber 

برای آسان‌تر کردن ناوبری، می‌توانید گزینه relativenumber را set  کنید. اعداد خطوط را نسبت به موقعیت مکان نما نشان می دهد.

با اجرای :set relativenumber از ویرایشگر، می توانید به طور موقت نسبت number را تنظیم کنید.

برای تنظیم کردن، از :set norelativenumber استفاده کنید


Syntax Highlighting 

اگر از ویرایشگر Vim unicolor خسته شده اید، می توانید هایلایت سینتکس را فعال کنید.


vi ~/.vimrc

مقدار زیر را به فایل اضافه کنید:
:syntax on

Cut Copy Paste in Vi Editor

برای کپی و پیست کردن با استفاده از حالت visual مراحل زیر را دنبال کنید.

  1. با استفاده از ESC + v وارد حالت visual شوید و مکان نما را حرکت دهید تا رشته ای را که می خواهید کپی کنید انتخاب کنید.
  2. از V بزرگ برای انتخاب کل خط استفاده کنید.
  3. از d برای کات یا y برای کپی استفاده کنید.
  4. مکان نما را در محل مورد نظر قرار دهید و برای پیست p را فشار دهید.

 

حذف خطوط و کلمات

در این بخش، نحوه حذف خطوط و کلمات در ویرایشگر VI آورده شده است.

  1. مکان نما را روی خطی که می خواهید حذف کنید قرار دهید و dd را فشار دهید تا آن خط حذف شود
  2. برای حذف تعداد مشخصی از خطوط، می توانید از d10d استفاده کنید. با این کار 10 خطی که از مکان نما شروع می شوند حذف می شود. بر اساس نیاز خود می توانید هر عددی را به جای 10 بدهید.
  3. برای انتخاب و حذف خطوط خاص، از Shift + V (حالت visual) استفاده کنید و سپس از فلش‌های بالا و پایین برای انتخاب استفاده کنید. هنگامی که خطوط را انتخاب کردید، d را برای حذف تمام خطوط انتخاب شده فشار دهید.

برای حذف کلمات، حالت insert (ESC + I) را فعال کنید و می توانید کارهای زیر را انجام دهید.

  1. Ctrl + w آخرین کلمه‌ای را که مکان نما در آن قرار دارد حذف می‌کند.
  2. Ctrl + u تمام کلماتی را که بلافاصله در سمت چپ مکان نما قرار دارند حذف می‌کند.

Undo و Redo

هنگامی که روی ویرایشگر vi کار می‌کنید، اغلب باید آن را undo و redo انجام دهید. در اینجا نحوه انجام این کار آمده است.

  1. Undo: برای لغو آخرین تغییر، u را فشار دهید. اگر اشتباهی مرتکب شدید، کافی است u را فشار دهید تا آن را برگردانید
  2. Redo:  با فشردن کلیدهای Ctrl + r تغییری را که به تازگی لغو کردید دوباره انجام دهید.

جستجو و جایگزینی متون

می توانید با فشار دادن / در حالت insert در میان فایل‌های خود جستجو کنید.
به عنوان مثال، اگر می‌خواهید برای کلمه کلیدی data جستجو کنید، باید موارد زیر را انجام دهید.

/data

برای پیدا کردن رخداد بعدی، فقط n را فشار دهید

نکته: جستجوها به حروف کوچک و بزرگ حساس هستند. اگر می‌خواهید جستجوی بدون حروف کوچک و بزرگ داشته باشید، باید set ignorecase: را در ویرایشگر تنظیم کنید.

حالت command (ESC + :) را وارد کنید و از دستور زیر برای جایگزینی یک الگو استفاده کنید.

:%s/pattern/replace/g

از دستور زیر برای جایگزینی هر رخداد با یک prompt استفاده کنید. تمام اتفاقات را برجسته می کند. شما می‌توانید انتخاب کنید که کدام یک را جایگزین کنید و کدام یک را به همان صورت باقی بگذارید.


:%s/pattern/replace/gc

به حروف بزرگ و کوچک تبدیل کنید
برای هر تبدیل  case text، مکان نما را روی خط نگه دارید و از میانبرهای زیر در حالت نرمال (ESC) استفاده کنید.

  1. برای تبدیل یک خط به حروف بزرگ از gUU استفاده کنید
  2. برای تبدیل یک خط به حروف کوچک، از guu استفاده کنید

کپی کردن مطالب از یک فایل دیگر در ویرایشگر Vi

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


:r /path/to/file


به عنوان مثال، اگر اطلاعات CPU را در یک فایل موجود کپی کنید، از دستور زیر استفاده می کنید.


:r /proc/cpuinfo


اجرا / کپی مطالب از دستور

شما می توانید سایر دستورات لینوکس را در ویرایشگر در حالت command اجرا کنید (ESC + :)

برای اجرای دستورات از ویرایشگر می توانید از :! . مثلا،


:! pwd

اگر می خواهید خروجی یک دستور در فایل ویرایش کپی شود، می توانید از :r استفاده کنید! < command>. به عنوان مثال، برای دریافت و کپی آدرس IP eth0، می توانید موارد زیر را انجام دهید.


:r! ip addr | grep eth0 | grep inet | awk '{print $2}' | cut -d / -f1


ویندوز را تقسیم کنید

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

تقسیم پنجره ترمینال در ویرایشگر vi
 

  1. تقسیم افقی (Horizontal Split): عبارت زیر را تایپ کنید تا پنجره به صورت افقی تقسیم شود و یک فایل خاص باز شود. اگر فقط از sp: استفاده کنید، پنجره را با فایل فعلی تقسیم می‌کند.

:sp

  1. تقسیم عمودی (Vertical Split): عبارت زیر را تایپ کنید تا پنجره به صورت عمودی تقسیم شود و یک فایل خاص باز شود. اگر فقط از   vs: استفاده کنید، پنجره را با فایل فعلی تقسیم می‌کند.

:vs


وقتی پنجره‌های تقسیم شده متفاوتی دارید، ممکن است بخواهید بین پنجره‌های مختلف حرکت کنید.
برای انتقال مکان نما به پنجره بعدی از Ctrl + w و به دنبال آن w استفاده کنید.


راهنمای ویرایشگر Vi

کارهای زیادی وجود دارد که می توانید با ویرایشگر VI انجام دهید.
اگر می‌خواهید یک کاربر قدرتمند ویرایشگر VI شوید، باید از عملکرد راهنمای VIM استفاده کنید.

vimtutor 

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

vps یک ماشین مجازی کامل است که امکان دسترسی SSH طبق آموزش را به آن خواهید داشت.
خرید vps در پنج موقعیت جغرافیایی ایران، ترکیه، هلند، آلمان و آمریکا با قابلیت تحویل آنی در پارسدو فراهم است.

جمع‌بندی

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


اشتراک گذاری مقاله :

نظرتون برامون مهمه شما اولین نظر رو بنویسید