اگر بخش اول از آموزش کار با Vim رو نخوندید، نیاز است اون بخش رو مطالعه کنید تا بتونید با بقیه ی آموزش همراه باشید.
دسترسی به HELP در Vim
بخش Help دستورها و برنامه های مختلف، برای درست یادگرفتن اونها و استفاده از قابلیت های مختلف شون خیلی پر کاربرد هست. همیشه ما همه ی دستورهای یک ابزار را نمی دانیم و با استفاده از Manual و Help آنها به راحتی می توانیم مشکل مان را حل کنیم.
برای این منظور توی برنامه ی Vim شما می توانید دستور help: را بنویسید تا به فایل کامل Help برنامه دسترسی پیدا کنید.
اگر هم دنبال عبارت خاصی می خواهید بگردید برای راحت تر شدن کارتان از دستور زیر استفاده کنید:
:helpgrep <your-phrase>
ویرایش فایل ها در Vim
برای اینکه بتوانیم فایلی که وجود دارد را در Vim ویرایش کنیم حالت های مختلفی وجود دارد که در ادامه به صورت یک Cheat Sheet می توانید این حالت ها را مشاهده کنید. وقتی که فایلتان را باز کردید (همان دستور vim YOUR_FILE_NAME) و خواستید به Mode ای تغییر حالت بدهید که بتوانید متن تان را ویرایش کنید یکی از کلید های زیر را بزنید و از ویژگی آن بهره ببرید.
- برای ویرایش فایل از دقیقا همان جایی که اشاره گر (Cursor) قرار دارد:
i
- برای وقتی که می خواهید از ویرایش فایل را از ابتدای خطی که Cursor روی آن هست شروع کنید:
I
- ویرایش فایل از بعد از محل قرار گیری Cursor:
a
- ویرایش فایل از انتهای خطی که Cursor روی آن قرار دارد:
A
- ایجاد یک خط جدید زیر خطی که Cursor روی آن هست:
o
- ایجاد یک خط جدید بالای خطی که Cursor روی آن هست:
O
- کاراکتری که روی Cursor روی آن هست را حذف کنید و از همانجا شروع به ویرایش کنید:
s
- کل خطی که Cursor روی آن است حذف شود و در حالت ویرایش فایل قرار بگیرید:
S
- کاراکتری که روی آن هستیم را با چیزی که می نویسیم جایگزین کند:
r
- کل خطی که روی آن هستیم را با چیز جدیدی که می نویسیم جایگزین کند:
R
جابجایی حرفه ای در Vim
شما می توانید در فایلی که با Vim باز کرده اید به خوبی جابجا شوید. برای این منظور Vim امکانات زیادی در اختیارتان قرار می دهد که با استفاده از آنها می توانید خیلی حرفه ای تر این کار را انجام دهید.
برای مثلا h حرکت به سمت چپ، l حرکت به سمت راست، K حرکت به سمت بالا و j حرکت به سمت پایین است. حالا اگر بخواهید به اندازه ی 10 واحد به سمتت پایین حرکت کنید کافیست 10j بنویسد.
از دیگر کلیدهایی که می توانید استفاده کنید O برای رفتن به ابتدای خط، $ برای رفتن به انتهای خط، Ctrl+f برای اسکرول کردن به سمت پایین و Ctrl+b برای اسکرول کردن به سمت بالاست.
برای رفتن به خط n ام از فایل می توانید n: را بزنید برای مثال اگر می خواهید به خط 120 بروید کافیست 120: را بنویسید.
برای رفتن به ابتدای فایل o: و برای رفتن به خط پایانی فایل هم $: را باید بزنید.
Cut، Copy، Paste و Delete در فایل با استفاده از Vim
خب یکی از کارهای رایج حدف کردن، کپی کردن، کات کردن و دوباره paste (ترجمه اش چی میشه؟!) کردن متن یا بخشی از متن است.
برای اینکار شما می توانید از x برای حذف کاراکتر جلوی Cursor و X برای حذف کارکتر پشت Cursor استفاده کنید. برای حذف کردن یک کلمه از dw و برای حذف کل خطی که روی آن هستید هم از D یا dd استفاده کنید. همینطور می توانید برای حذف 5 کلمه ی جلوی Cursor تان از 5dw استفاده کنید.
برای کپی کردن می توانید از y استفاده کنید که یک کاراکتر از جلوی Cursor را کپی می کند. برای اینکه کل خطی که روی آن هستید را هم کپی کنید می توانید از Y یا yy استفاده کنید.
و با p هم می توانید کاراکتر کپی شده را جلوی Cursor و با P پشت Cursor تان Paste کنید.
حالا اگر از کرده ی خود پیشمان شدید هم می توانید با u قابلیت undo را صدا بزنید و یک یا چند کاری که انجام دادید را برگردانید. مثلا اگر می خواستید 4 اقدام اخیر خود را برگردانید باید از 4u استفاده کنید. با زدن U هم می توانید تمام اقداماتی که انجام داده بودید را برگردانید.
برعکس undo هم می شود redo که برای این کار کافیست ctrl+r را بزنید تا اقدامات برگردانده شده توسط دستور undo، مجددا اعمال شود.
سرچ کردن در Vim
یکی از پرکاربرد ترین دستوراتی که شاید روزانه بارها و بارها لازم بشود، جستجو در فایل متنی است.
تنظیمات جستجو
شما می توانید با دستور
:set incsearch
به Vim بگویید وقتی دنبال یک چیزی گشتید و آن را پیدا کرد، در ابتدای اولین نتیجه ی سرچ برود و به ترتیب بتوانید روی نتایج بعدی حرکت کنید.
با دستور
:set lnsearch
هم می توانید تنظیمات Vim را درحالتی قرار دهید که همه ی عبارتهای پیدا شده را هایلایت کند.
برای لغو این دستورها هم می توانید از دستورهای زیر استفاده کنید:
:set noincsearch
:set nohlsearch
جستجو در یک فایل
برای اینکه یک عبارت را پیدا کنید کافیست به صورت زیر به Vim دستور بدهید:
/YOUR_TEXT_HERE
و حالا وقتی مواردی که می خواستید را پیدا کرد، می توانید با n به نتیجه ی بعدی و با N به نتیجه ی قبلی بروید. اگر هم خواستید همان سرچ را دوباره تکرار کنید از دستور // استفاده کنید.
البته دقت کنید که با این روش سرچ، تمامی عبارت های مشابه ای که از Cursor تان تا انتهای فایل هست (یعنی روبه جلو) را پیدا می کند و اگر خواستید همین کار را از Cursor تان تا ابتدای فایل (یعنی رو به عقب) انجام بدهید می توانید دستورتان را به این صورت تغییر بدهید:
?YOUR_TEXT_HERE
که حالا در این حالت n مورد قبلی و N مورد بعدی را برایتان می آورد. و دستور ?? هم آخرین سرچ تان را تکرار می کند.
جستجو در چندین فایل
برای اینکه دنبال یک عبارت در فایل های مختلفی بگردید هم می توانید ابتدا با دستور vim وارد این نرم افزار بشوید و بعد از آن با دستور زیر در بین فایل ها دنبال عبارت خاصی بگردید:
:vimgrep SokanAcademy *.txt
در مثال بالا ما به دنبال عبارت SokanAcademy در فایل های text می گردیم.
با قسمت های بعدی برمیگردم...