محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

آموزش ویرایشگر VI Editor با معرفی 40 کلید میانبر VI در لینوکس

آموزش ویرایشگر متنی vi editor لینوکس | آموزش استفاده از ویرایشگر متن vi لینوکس | vi editor یکی از محبوب ترین و البته دشوارترین ابزارهای ویرایش متن و فایل های متنی در لینوکس به حساب می آید که کمی کار کردن با آن به نسبت سایر ویرایشگرهای متنی که از آنها استفاده می کنیم دشوارتر است. اما با استفاده از ترفند ها و کمی تمرین می توانید از vi editor نیز مثل سایر ویرایشگرهای متنی در دنیا استفاده کنید و تکنیک های کار با آن را خوب یاد بگیرید.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

آموزش vi editor قسمت 1 : آموزش دستورات باز ، بسته و خارج شدن از vi

برای باز کردن یک فایل در vi editor کافیست دستور vi به همراه اسم فایل مورد نظر در جلوی آن را وارد کنید ، توجه کنید که در صورتیکه فایل مورد نظر وجود نداشته باشد فایل ایجاد خواهد شد بنابراین دستور vi itpro فایلی به نام itpro اگر وجود داشته باشد باز خواهد شد و اگر وجود نداشته باشد ایجاد خواهد شد. اگر فایل شما Crash کرده باشد یا در هنگام کار کردن با ویرایشگر سیستم دچار مشکل شده باشد می توانید با آوردن سویچ r- در ادامه دستور vi فایل مورد نظر را recover کنید .

برای مثال vi –r itpro فایل itpro را که قبلا crash کرده بود تعمیر خواهد کرد. برای وارد شدن به محیط یا حالت درج یا Insert Mode کافیست کلید i یا کلید a را بزنید ، کاراکتری که می خواهید تایپ کنید بلافاصله بعد از Cursor ماوس شما قرار خواهد گرفت. برای اینکه بتوانید از حالت Insert Mode به حالت command mode برگردید کافیست کلمه Esc را تایپ کنید و در نهایت برای خارج شدن یا Exit کردن از محیط vi editor در محیط Command Mode می توانید دستورات زیر را وارد کنید :

  1. x: = خارج شدن از محیط vi editor و نوشتن تغییرات انجام شده بر روی فایل روی دیسک
  2. wq: = خارج شدن از محیط vi editor و نوشتن تغییرات انجام شده بر روی فایل روی دیسک
  3. q: = خارج شدن از محیط vi editor بدون ذخیره تغییرات
  4. !q: = خارج شدن از محیط vi editor بدون ذخیره کردن آخرین تغییرات فایل
  5. w: = ذخیره کردن فایل به عنوان یک فایل جدید و عدم دستکاری فایل قدیمی

شاید از خودتان این سئوال را بپرسید که چرا وقتی می توانیم از editor های پیشرفته تری استفاده کنیم از vi استفاده می کنیم ، پاسخ این است که قرار نیست شما همیشه با استفاده از گرافیک و محیط دسکتاپ در لینوکس کار کنید و در بسیاری از موارد شما با استفاده از telnet یا ssh به سیستم عامل مورد نظر متصل می شوید

و در اینجا باید از این ویرایشگر استفاده کنید که بصورت inline به شما امکان ویرایش فایل ها را می دهد ، در ضمن برای درک بهتر موارد بالا فراموش نکنید که به محض اینکه شما در محیط command mode در vi کاراکتر دو نقطه به شکل : را وارد کنید vi منتظر وارد کردن دستور شما باقی می ماند و در ادامه دستور شما وارد می شود.

آموزش vi editor قسمت 2 : آموزش حرکت دادن Cursor در صفحه ویرایشگر

هر ویرایشگر متنی برای خود قواعد و قوانین خاصی برای حرکت کردن در تصویر و صفحه دارد که معمولا در اکثر ویرایشگرها این موارد یکسان است اما در vi editor برای کسانی که عادت به استفاده کردن از ویرایشگرهای معمولی دارند این فرآیند ممکن است کمی در وهله اول دشوار به نظر برسد ، شما می توانید با استفاده از دکمه ها و کلیدهای زیر Cursor خود را در تصویر حرکت داده و یا در صفحه ویرایشگر دستورات حرکتی را وارد کنید ، لیست این دستورات به شکل زیر می باشد :

  1. کلید جهت دار سمت پایین یا j : این کلیدها Cursor را یک خط در ویرایشگر vi پایین می آورند
  2. کلید جهت دار سمت بالا یا k : این کلیدها Cursor را یک خط در ویرایشگر vi بالا می آورند
  3. کلید جهت دار سمت چپ یا h : این کلیدها Cursor را یک کاراکتر به سمت چپ هدایت می کنند
  4. کلید جهت دار سمت راست یا l : این کلیدها Cursor را یک کاراکتر به سمت راست هدایت می کنند
  5. عدد صفر یا 0 : این کلید Cursor را به ابتدای خطی که در حال حاضر در آن قرار داریم می برد
  6. علامت دلار یا $ : این علامت Cursor را به انتهاب خطی که در حال حاضر در آن قرار داریم می برد
  7. کاراکتر W بزرگ : این کاراکتر Cursor را به ابتدای اولین کلمه بعد از محل فعلی Cursor انتقال می دهد
  8. کاراکتر B بزرگ : این کاراکتر Cursor را به ابتدای اولین کلمه قبل از محل فعلی Cursor انتقال می دهد
  9. دو نقطه و صفر یا 0: و 1G = این ترکیب باعث انتقال Cursor به اولین خط فایل در vi editor می شوند
  10. دو نقطه و n یا n: و nG = این ترکیب باعث انتقال Cursor به خط n ام ای است که مشخص کرده ایم
  11. دو نقطه و دلار یا $: و G = این ترکیب باعث انتقال Cursor به خط آخر فایل در vi editor می شوند

آموزش vi editor قسمت 3 : آموزش copy و cut و paste در لینوکس

بر طبق عادت همیشگی فکر می کنیم که copy را با استفاده از کلیدهای ترکیلی ctrl+c و paste را با استفاده از ctrl+v و cut را با استفاده از ctrl+x در هر ویرایشگری انجام می دهیم اما این موارد در خصوص vi editor اصلا صادق نیست و در vi شما باید از سویچ ها و دستورات خاص خود این ویرایشگر متنی برای اینکار استفاده کنید.

دستوراتی که برای copy و paste در ویرایشگرهای vi و vim استفاده می شوند تقریبا یکی هستند. توجه کنید که شما در vi و vim باید برای اعمال copy حتما محدوده خطوط خود را مشخص کنید به مثال زیر دقت کنید : دستورات Y و yy می توانند یک یا چند خط را کپی کنند ، کلمه y مخفف کلمه yank است. دستوراتی که در زیر مشاهده می کنید به ترتیب برای کپی کردن یک خط ، دو خط ، ده خط و کپی کردن تمامی خطوط تا انتهای فایل بکار می روند :

Y     کپی کردن یک خط
2Y   کپی کردن دو خط  
10Y  کپی کردن ده خط 
yG   کپی کردن از محل فعلی تا انتهای فایل

برای paste کردن اطلاعات موجود در buffer یا حافظه clipboard دو حالت وجود دارد ، برای اینکه خطوط کپی شده در بالای cursor قرار بگیرند حرف P بزرگ و برای اینکه اطلاعات در پایین Cursor قرار بگیرند از p کوچک استفاده می شود همانطور که در دستور پایین مشاهده می کنید :

P  اضافه کردن در بالای محل فعلی
p   اضافه کردن در پایین محل فعلی

البته این امکان وجود دارد که متنی که copy شده است را وسط یک خط نیز paste کنیم. دستور زیر برای paste کردن متن کپی شده از محل فعلی cursor تا انتهای محلی است که متن کپی شده جا دارد استفاده می شود که شاید انتهای فایل باشد :

yw y$

توجه کنید که شما زمانی از vi استفاده می کنید که vim را نصب نکرده باشید ، ویرایشگر متنی دیگری به نام vim وجود دارد که بایستی بر روی سیستم عامل لینوکس شما نصب شود و با نصب شدن آن شما می توانید با سادگی بیشتری ویرایش های خود را بر روی فایل ها انجام دهید.

آموزش vi editor قسمت 4 : چهارده دستور حذف و کپی در ویرایشگر vi

  1. حرف x کوچک : یک کاراکتر را که Cursor زیر آن قرار گرفته است حذف می کند
  2. حروف ترکیبی nx : تعداد n کاراکتر را از محل فعلی Cursor به بعد حذف می کند
  3. حرف X بزرگ : کاراکتر سمت چپ Cursor را حذف می کند
  4. حروف ترکیبی Dw : مخفف کلمه Delete Word می باشد و از محل فعلی Cursor یک کلمه را حذف می کند
  5. حروف ترکیبی nDw : تعداد n کلمه از محل فعلی Cursor به بعد را حذف می کند
  6. حروف ترکیبی dd : برای حذف کردن یک خط که Cursor در آن قرار گرفته است استفاده می شود
  7. حروف ترکیبی ndd : برای حذف کردن n عدد خط از محل فعلی Cursor استفاده می شود
  8. حروف ترکیبی Cw : یک کلمه را حذف می کند و بلافاصله وارد محیط insert mode می شود
  9. حروف ترکیبی Cc : یک خط را حذف می کند و بلافاصه وارد محیط insert mode می شود
  10. حرف S بزرگ : یک کاراکتر را حذف می کند و بالافاصه وارد محیط insert mode می شود
  11. حروف ترکیبی Yy : خطی که در حال حاضر در آن قرار داریم را Cut می کند
  12. حروف ترکیبی nyy : تعداد n خط را از محی فعلی Cursor بصورت یکجا Cut می کند
  13. حروف ترکیبی Yw : یک کلمه را کپی می کند
  14. حروف ترکیبی nyw : تعداد n کلمه را یکجا کپی می کند

آموزش vi editor قسمت 5 : ده دستور کاربردی در VI که باید بدانید

  1. حروف ترکیبی Guu : تمامی حروفی که در خط فعلی وجود دارند را تبدیل به حروف کوچک می کند
  2. حروف ترکیبی gUU : تمامی حروفی که در خط فعلی وجود دارند را تبدیل به حروف بزرگ می کند
  3. حرف U بزرگ : عملیات Undo در vi editor با استفاده از این دستور انجام می شود
  4. حروف ترکیبی r^ : عملیات Redo در vi editor با استفاده از این دستور انجام می شود
  5. استفاده از text// : جستجو در vi editor است و شما هر چیزی را در قسمت text وارد کنید در ادامه محل cursor متن جستجو می کند
  6. استفاده از علامت // : این حرف جستجوی شما را مرتبا در ادامه متن تکرار می کند
  7. استفاده از text? : جستجو در vi editor است و شما هر چیزی را در قسمت text وارد کنید در قبل از محل cursor جستجو می کند
  8. استفاده از علامت ? : این حرف جستجوی شما را مرتبا در به سمت عقب محل فعلی cursor بصورت backward انجام می دهد
  9. دستور =.: : این دستور شماره خط فعلی که در vi editor در آن هستیم را در پایین تصویر به ما نمایش می دهد
  10. دستور =: : این دستور تعداد خطوطی که در متن فایل در vi editor وجود دارد را در پایین تصویر به ما نمایش می دهد

محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

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

نظرات