برای ویرایش ترجمه، لطفاً از لینک استفاده کنید و متن اصلاح شده را به فایل اضافه کنید:

https://gitlab.com/phpgo/persian-vimtutor

و یا از طریق کامنت ها درس اصلاح شده را ارسال کنید. تشکر

مترجم: خشایار زاوش

ویراستار: نیما حیدری نسب

  به راهنمای ویم خوش آمدید - نسخه‌ی 1.7                      

Vim یک ویرایشگر بسیار قدرتمند است که دارای بسیاری از فرمان‌ها است، و همچنین توضیح‌های بسیار روشنی دارد.

این آموزش برای توصیف دستوراتی از Vim به‌طوری که بتوانید از آن به‌عنوان یک ویرایشگر همه‌کاره استفاده کنید ساخته شده است.

زمان تقریبی این آموزش ۲۵ تا ۳۰ دقیقه است، بسته به این که چه‌قدر وقت صرف آزمایش کنید.

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

توجه: دستورالعمل‌ها در درس، متن را اصلاح می‌کنند، یک کپی برای تمرین درست کنید. (اگر با vimtutor شروع کردید، این یک کپی است.)

اکنون مطمئن شوید که Caps-Lock غیرفعال باشد، و کلید j را مدتی فشار دهید تا با حرکت مکان‌نما درس 1.1 صفحه را پر کند.

                                                  درس 1.1: حرکت مکان‌نما

** برای حرکت مکان‌نما، کلیدهای h,j,k,l را همان‌طور که مشخص شده است فشار دهید. **

     ^
     k		    
< h 	 l >		   
     j			   
     v

نکته: کلید h در سمت چپ است و مکان‌نما را به سمت چپ حرکت می‌دهد. کلید l در سمت راست است و مکان‌نما را به سمت راست حرکت می‌دهد. کلید j شبیه یک پیکان رو به پایین است.

  1. مکان‌نما را در اطراف صفحه حرکت دهید تا زمانی که راحت باشید.
  2. کلید پایین‌برنده (j) را نگه دارید تا کار آن تکرار شود. حالا شما می‌دانید که چگونه به درس بعدی بروید.
  3. با استفاده از کلید پایین‌برنده، به درس 1.2 بروید.

توجه: هرگاه از چیزی که تایپ کردید مطمئن نبودید، با فشردن <ESC> به حالت Normal mode بروید. سپس دستوری که مدنظرتان است را دوباره تایپ کنید.

توجه: کلید های مکان‌نما نیز باید کار کنند. اما با استفاده از hjkl می‌توانید سریع‌تر به اطراف حرکت کنید. واقعاً!

                                                  درس 1.2: خروج از Vim

!! توجه: قبل از اجرای هر یک از مراحل زیر، این درس را بخوانید!!

  1. کلید <Esc> را فشار دهید (تا مطمئن شوید در حالت Normal mode هستید).
  2. تایپ کنید: !q: و <ENTER>. این دستور، بدون ذخیره‌ی تغییرات انجام‌شده، شما را از ویرایشگر خارج می‌کند.
  3. با اجرای این دستور به جایی که در این آموزش بودید برگردید: vimtutor <ENTER>
  4. اگر این مراحل را با اطمینان به خاطر سپرده‌اید، مراحل ۱ تا ۳ را برای خروج از ویرایشگر و ورود دوباره به آن اجرا کنید.

توجه: !q: و <ENTER> تغییراتی که انجام داده‌اید را ذخیره نمی کند. در درس‌های آینده، خواهید آموخت که چگونه تغییرات را در یک فایل ذخیره کتید.

  1. مکان‌نما را به درس 1.3 حرکت دهید.
درس 1.3: ویرایش متن - حذف 

** برای حذف کاراکتر زیر مکان‌نما، x را فشار دهید. **

—> خشایار پپپوستش کنده شد تا ایین متن را ترجمممه کند.

  1. حالا که این خط بالا شده، به درس 1.4 بروید.

توجه: حین این که با این آموزش پیش می‌روید، سعی نکنید حفظ کنید؛ با استفاده کردن یاد بگیرید.

                                                  درس 1.4: ویرایش متن - درج

** برای درج متن i را فشار دهید. **

  1. مکان‌نما را به اول خط مشخص شده ببرید —> .
  2. برای این که خط اول را مانند خط دوم کنید، مکان‌نما را به خط اول، قبل از جایی که می‌خواهید کاراکترها درج شوند حرکت دهید.
  3. i را فشار داده و موارد لازم را اضافه کنید.
  4. هرگاه خطایی رفع شد، <ESC> را فشار دهید تا به حالت Normal mode بروید. مراحل ۲ تا ۴ را تکرار کنید تا جمله تصحیح شود.

—> برخی از کلمات از این ج

—> برخی از کلمات از این جمله حذف شده‌اند.

  1. هر وقت که به راحتی توانستید درج متن را انجام دهید، به درس 1.5 بروید.
درس 1.5: ویرایش متن - افزودن

** برای افزودن متن، A را فشار دهید **

  1. مکان‌نما را به اولین خطی که با —> علامت‌گذاری شده است حرکت دهید مهم نیست که مکان‌نما روی کدام کاراکتر از خط قرار دارد.
  2. A را فشار داده و موارد لازم را اضافه کنید.
  3. هرگاه متن را اضافه کردید، ‍‍‍‍‍‍‍‍‍‍‍‍<ESC> را فشار دهید تا به حالت Normal mode برگردید.
  4. مکان نما‌را به خط دوم نشانه‌گذاری‌شده با —> حرکت دهید و مراحل ۲ و ۳ برای اصلاح این جمله تکرار کنید.

—> برخی از کلمات موجود از

برخی از کلمات موجود از این خط حذف شده‌اند.

—> در اینجا نیز برخی از کلمات

در اینجا نیز برخی از کلمات حذف شده‌اند.

  1. زمانی که توانستید به راحتی متنی اضافه کنید، به درس 1.6 بروید.
درس 1.6: ویرایش یک فایل

** از :wq برای ذخیره‌ی فایل و خروج استفاده کنید. **

!! توجه: قبل از اجرای هر یک از مراحل زیر، این درس را بخوانید!!

  1. همان‌طور که که درس 1.2 آموختید، از این آموزش خارج شوید: :q! اگر به ترمینال دیگری دسترسی دارید، موارد زیر را انجام دهید.
  2. در ترمینال این دستور را وارد کنید: vim tutor <ENTER> «vim» دستوری است که ویرایشگر Vim را اجرا می‌کند و «tutor» نام فایلی است که می‌خواهید آن را ویرایش کنید. از فایلی که ممکن است تغییر کند استفاده کنید.
  3. به همان شیوه‌ای که در درس‌های قبل آموختید، درج و حذف متن را انجام دهید.
  4. فایل را با تغییرات ذخیره کنید و از Vim خارج شوید: :wq ‍<ENTER>
  5. اگر در مرحله‌ی ۱ از vimtutor خارج شده‌اید، vimtutor را مجدداً راه‌اندازی کنید و به پایین خلاصه‌ی درس‌ها بروید.
  6. پس از خواندن مراحل فوق و درک‌شان، آن‌ها را انجام دهید. خلاصه‌ی درس ۱
  7. مکان‌نما با استفاده از کلیدهای مکان‌نما یا کلیدهای hjkl حرکت می‌کند. h (چپ) j (پایین) k (بالا) l (راست)
  8. برای اجرای Vim از طریق ترمینال، تایپ کنید: vim FILENAME <ENTER>
  9. برای حذف همه‌ی تغییرات و خروج از Vim، تایپ کنید: <ESC> :q! <ENTER> یا <ESC> :wq <ENTER> را تایپ کنید تا تغییرات ذخیره شوند.
  10. برای حذف کاراکتر پشت مکان‌نما، تایپ کنید: x
  11. برای قرار دادن یا افزودن متن تایپ می کنید: i تایپ متن موردنظر <ESC> درج قبل از مکان‌نما A تایپ متن موردنظر <ESC> افزودن بعد از خط

توجه: فشردن <ESC> شما را در حالت Normal mode قرار می‌دهد، یعنی دستور ناخواسته یا ناقص را لغو می‌کند.

اکنون با درس ۲ ادامه دهید.

                                                 درس 2.1: دستورات حذف

** برای حذف یک کلمه، dw تایپ کنید **

  1. <ESC> را فشار دهید تا مطمئن شوید در حالت Normal mode هستید.
  2. مکان‌نما را به خطی که با —> مشخص شده است ببرید.
  3. مکان‌نما را به آغاز یک کلمه که باید حذف شود ببرید.
  4. dw را تیپ کنید تا کلمه ناپدید شود.

نکته: زمانی که حرف d را تایپ می‌کنید، این حرف در آخرین خط صفحه ظاهر می‌شود. Vim برای تایپ w متنظر شما می‌ماند. اگر کاراکتری به‌جز d تایپ کردید، ‍<ESC> را فشار دهید و از اول شروع کنید.

—> برخی از کلمات سرگرم کننده هستند. هواپیما که در این جمله جایی ندارند.

  1. مراحل ۳ و ۴ تکرار کنید تا جمله درست شود و به درس 2.2 بروید.
درس 2.2: دستورات بیش‌تر برای حذف

** برای این که تا انتهای خط را حذف کنید، d$ را تایپ کنید. **

  1. <ESC> را فشار دهید تا مطمئن شوید در حالت Normal mode هستید.
  2. مکان‌نما را به خطی که با —> مشخص شده است ببرید.
  3. مکان‌نما را به به پایان خط صحیح ببرید (بعد از اولین).
  4. $d را تایپ کنید تا ادامه‌ی خط حذف شود.

—> بعضی‌ها پایان این خط را دوبار تایپ کردند. پایان این خط دو بار

  1. برای درک آن‌چه اتفاق می‌افتد، به درس 2.3 را بروید.
درس 2.3: عملگرها و اشارات

بسیاری از دستوراتی که متن را تغییر می‌دهند، از یک عملگر و یک اشاره ساخته می شوند.

قالب یک فرمان delete با عمل حذف d به شرح زیر است: d اشاره

که: d – عملگر حذف است. اشاره – چیزی است که عملگر بر روی آن کار عمل می‌کند (در زیر ذکر شده است).

فهرستی کوتاه از اشارات: w – تا ابتدای کلمه‌ی بعدی، به غیر از اولین کاراکتر آن. e – تا انتهای کلمه‌ی فعلی، شامل آخرین کاراکتر. $ – تا انتهای خط، شامل آخرین کاراکتر.

برای مثال، با تایپ de از مکان‌نما تا انتهای کلمه حذف خواهد شد.

توجه: فشردن دکمه‌های اشارات در حالت Normal mode بدون عملگر صرفاً مکان‌نما را به مکان مشخص‌شده می‌برد.

                                                 درس 2.4: استفاده از تعداد برای یک اشاره

** تایپ یک شماره قبل از اشاره، آن را چند بار تکرار می‌کند. **

  1. مکان‌نما را به خطی که با —> مشخص شده است ببرید.
  2. برای حرکت مکان‌نما به دو کلمه جلوتر، 2w را تایپ کنید.
  3. برای حرکت مکان‌نما به انتهای سه کلمه‌ی جلوتر، 3e را تایپ کنید.
  4. برای حرکت مکان‌نما به ابتدای خط، 0 (صفر) را تایپ کنید.
  5. مراحل ۲ و ۳ را با شماره‌های مختلف تکرار کنید.

—> این فقط یک خط با کلمات است که می‌توانید در آن حرکت کنید.

  1. به درس 2.5 بروید.
درس 2.5: استفاده از تعداد برای حذف بیش‌تر

** تایپ یک عدد با یک عملگر، آن را چند بار تکرار می‌کند. **

در ترکیب عملیات حذف و یک حرکت ذکر شده در بالا،
یک شماره قبل از اشاره برای حذف بیش‌تر وارد کنید:
d شماره اشاره

  1. مکان‌نما را به خطی که با —> مشخص شده است ببرید.
  2. برای حذف دو کلمه، d2w را تایپ کنید.
  3. مراحل ۱ و ۲ را با شماره‌های متفاوت تکرار کنید.

—> این خط، تمرینی برای پاک کردن است.

                                                 درس 2.6: کار بر روی خطوط

** برای حذف کامل یک خط، dd را تایپ کنید. **

به دلیل تعداد بالای استفاده از این دستور، طراحان Vi تصمیم گرفتند که این کار به‌سادگی با تایپ دو d انجام شود.

  1. مکان‌نما را به خط دوم عبارت زیر ببرید.
  2. برای خط، خط dd را تایپ کنید.
  3. حالا به خط چهارم بروید
  4. 2dd را تایپ کنید تا دو خط حذف شوند.

—> ۱) گل سرخ قرمز است.

—> ۲) گلدان سرگرم‌کننده است.

—> ۳) بنفشه‌ها آبی هستند.

—> ۴) من یک ماشین دارم.

—> ۵) ساعت‌ها به زمان را اعلام می‌کنند.

—> ۶) شکر شیرین است.

—> ۷) و همین‌طور تو هستی.

                                                 درس 2.7:  دستور بازگشت

** برای خنثی کردن آخرین دستورات، u، و برای تصحیح کامل یک خط، U را فشار دهید. **

  1. مکان‌نما را به خطی که با —> مشخص شده است ببرید.
  2. برای حذف اولین کاراکتر ناخواسته، x را تایپ کنید.
  3. حالا u را تایپ کنید تا آخرین دستور اجراشده خنثی شود.
  4. این بار، تمام خطاهای خط را با استفاده از دستور x برطرف کنید.
  5. حالا U را تایپ کنید تا خط به حالت اولیه برگردد.
  6. حالا u را چند بار تایپ کنید تا U و دستورات قبلی خنثی شوند.
  7. حالا CTRL-R را چند بار فشار دهید (کلید CTRL را نگه داشته و R را فشار دهید) تا دستورات قبلی مجدداً اجرا شوند.

—> خشایار و نیما اشتباهات این خططططط را برطرف می‌کنند و دوباره آن‌ها را خنثی می‌کنند.

این دستور بسیار مفید است. در حال حاضر به درس 2 خلاصه بروید.

خلاصه‌ی درس ۲
  1. برای حذف از مکان‌نما تا کلمه‌ی بعدی، تایپ کنید: dw
  2. برای حذف از مکان‌نما تا انتهای یک خط، تایپ کنید: $d
  3. برای حذف یک خط، تایپ کنید: dd
  4. برای تکرار یک اشاره، قبل از آن یک عدد وارد کنید: 2w
  5. قالب یک دستور تغییر به این صورت است: عملگر [عدد] اشاره

که: عملگر – کاری است که انجام می‌شود، مانند d برای حذف [شماره] – تعداد اختیاری برای تکرار حرکت است اشاره – متنی که قرار است عملگر روی آن اجرا شود را مشخص می‌کند، مانند w (کلمه)، $ (تا پایان خط) و….

  1. برای رفتن به ابتدای خط، از یک صفر استفاده کنید: 0
  2. برای خنثی کردن عملیات‌های قبلی، تایپ کنید: u (u کوچک) برای خنثی کردن تمام تغییرات در یک خط، تایپ کنید: U (U بزرگ) برای انجام دوباره‌ی تغییرات، CTRL-R را تایپ کنید.
درس 3.1: دستور قرار دادن

** برای قرار دادن متن حذف‌شده‌ی قبلی بعد از مکان‌نما، p را تایپ کنید. ** مکان‌نما را به خطی که با —> مشخص شده است ببرید. dd را تایپ کنید تا تا خط حذف شده و در Vim register ذخیره شود. مکان‌نما را به خط c)، بالای جایی که خط حذف‌شده باید قرار گیرد ببرید. برای قرار دادن خط زیر مکان‌نما، p را تایپ کنید. مراحل ۲ تا ۴ را تکرار کنید تا تمام خطوط در ترتیب درستی قرار گیرند.

—> الف) آیا می‌توانید یاد بگیرید؟ —> پ) بنفشه‌ها آبی هستند، —> ب) هوش آموخته‌شده است، —> ت) گل سرخ قرمز است،

                                                 درس 3.2: دستور جایگزینی

** برای جایگزینی کاراکتر مقابل مکان‌نما با x، دستور rx را تایپ کنید. **

  1. مکان‌نما را به خطی که با —> مشخص شده است ببرید.
  2. مکان‌نما را به بالای اولین خطا ببرید.
  3. r و سپس کاراکتری که می‌خواهید جایگزین شود را تایپ کنید.
  4. مراحل ۲ و ۳ را تکرار کنید تا خط اول با خط دوم یکسان شود.

—> وقتی این خط تایب شد، کسی کلیدهای استباه نا فشار داد!

—> وقتی این خط تایپ شد، کسی کلیدهای اشتباه را فشار داد!

  1. حالا به درس 3.3 بروید.

نکته: به یاد داشته باشید که باید با انجام دادن یاد بگیرید، نه حفظ کردن.

                                                 درس 3.3: عملگر تغییر 

** برای تغییر تا انتهای یک کلمه، ce را تایپ کنید. **

  1. مکان‌نما را به خطی که با —> مشخص شده است ببرید.
  2. مکان‌نما را روی «س» در «سند» قرار دهید.
  3. تایپ کنید ce و کلمه‌ی صحیح را وارد کنید.
  4. <ESC> را فشار دهید و به کاراکتر بعدی‌ای که نیاز به تغییر دارد حرکت بروید.
  5. مراحل ۳ و ۴ را تکرار کنید تا اولین جمله همانند جمله‌ی دوم باشد.

—> این خط دارای سند کلسه است که نیاز به تغسیر با استفاده از عملگر تغییر دارند.

—> این خط دارای چند کلمه است که نیاز به تغییر با استفاده از عملگر تغییر دارند.

توجه داشته باشید که ce کلمه را حذف می‌کند و شما را در حالت Insert قرار می‌دهد.

                                                 درس  3.4: تغییرات بیشتر با استفاده از c

** عملگر تغییر با استفاده از همان حرکت به عنوان حذف استفاده می شود. **

  1. عملگر تغییر مانند عملگر حذف عمل می‌کند. قالب کلی آن به شکل زیر است: c [عدد] اشاره
  2. اشارات یکسان هستند، مانند w (کلمه) و $ (تا انتهای خط).
  3. مکان‌نما را به خطی که با —> مشخص شده است ببرید.
  4. مکان‌نما را به اولین خطا منتقل ببرید.
  5. تایپ کنید $c، بقیه‌ی خط را مانند دومی تایپ کنید و <ESC> را فشار دهید.

—> انتهای این خط نیاز دارد که مانند خط دوم شود.

—> انتهای این خط نیاز دارد که با دستور c$ تصحیح شود.

توجه: شما می‌توانید از کلید Backspace برای اصلاح اشتباهات در هنگام تایپ استفاده کنید.

                                                  خلاصه‌ی درس ۳ 
  1. برای بازگرداندن متنی که اخیراً حذف شده است، عبارت p را تایپ کنید. این عبارت متن حذف‌شده را بعد از مکان‌نما قرار می‌دهد (اگر خطی حذف شده بود، به خط زیر مکان‌نما می‌رود).
  2. برای جایگزینی کاراکتر در زیر مکان‌نما، r و سپس کاراکتری که می‌خواهید وجود داشته باشد را تایپ کنید.
  3. عملگر تغییر به شما اجازه می دهد که از مکان‌نما به جایی که اشاره آن را می‌برد بروید. به‌عنوان مثال، برای تغییر از جای فعلی مکان‌نما تا انتهای کلمه، ce را تایپ کنید. برای تغییر تا انتهای خط، c$ را تایپ کنید.
  4. قالب کلی تغییر به شرح زیر است: c [عدد] اشاره

حالا به درس بعدی بروید.

                                                  درس 4.1: جای مکان‌نما و وضعیت فایل

** برای نمایش موقعیت‌تان در فایل و وضعیت فایل، CTRL-G را تایپ کنید. برای رفتن به یک خط از فایل، G را تایپ کنید. **

توجه: قبل از اجرای هر یک از مراحل، این درس را به‌طور کامل بخوانید!!

  1. کلید Ctrl را نگه داشته و g را فشار دهید. ما آن را CTRL-G می‌نامیم. یک پیام در پایین صفحه ظاهر خواهد شد که نام فایل و موقعیت شما در فایل را نشان می‌دهد. شماره‌ی خط را برای مرحله‌ی ۳ به خاطر بسپارید.

توجه: شاید موقعیت مکان‌نما را در گوشه‌ی پایین سمت راست صفحه‌نمایش ببینید. این اتفاق زمانی می‌افتد که گزینه‌ی ‘ruler’ فعال باشد (:help ‘ruler’ را ببینید).

  1. G را فشار دهید تا به پایین فایل بروید. gg را تایپ کنید تا به ابتدای فایل بروید.
  2. شماره‌ی خطی که در آن بودید را تایپ کرده و سپس G را فشار دهید. این کار شما را به خطی که CTRL-G را در آن فشار داده بودید برمی‌گرداند.
  3. اگر به توانایی‌تان در انجام این کار اطمینان دارید، مراحل ۱ تا ۳ را اجرا کنید. ** برای جستجوی عبارت، / را همراه
درس 4.2: دستور جستجو

نکته: هنگامی که جستجو به انتهای فایل می‌رسد، آن را از ابتدا ادامه می‌دهد، مگر این که گزینه‌ی ‘wrapscan’ مجدداً تنظیمِ شود.

عبارت تایپ کنید. ** در حالت Normal mode، کاراکتر / را تایپ کنید. توجه داشته باشید که با زدن دستور، مکان‌نما در پایین صفحه ظاهر می‌شود. حالا «خطططا» را تایپ و سپس <ENTER>‍‍‍‍‍ کنید. این کلمه‌ای است که باید جستجو کنید. برای جستجوی دوباره‌ی همان عبارت و یافتن نتایج بعدی، به‌سادگی n را تایپ کنید. برای جستجوی همان عبارت در جهت مخالف، N را تایپ کنید. برای جستجوی عبارت در جهت عقب، از ? به جای / استفاده کنید. برای بازگشت به جایی که از آن آمدید، CTRL-O را فشار دهید (کلید Ctrl را نگه داشته و o را فشار دهید). این عمل را تکرار کنید تا به عقب‌تر برگردید. با فشردن CTRL-I به سمت جلو می‌روید.

                                                  درس 4.3: جستجوی انتهای یک پرانتز

** برای یافتن یک )، ] یا } مطابق، % را تایپ کنید. **

  1. مکان‌نما را بر روی یکی از کاراکترهای (، [، یا { در خط نشانه‌گذاری‌شده با —> قرار دهید.
  2. حالا کاراکتر % را تایپ کنید.
  3. مکان نما به آخر پرانتز یا براکت مربوطه حرکت می‌کند.
  4. برای بردن مکان‌نما به یک براکت مربوطه‌ی دیگر، % را تایپ کنید.
  5. مکان‌نما را به یک (، )، [، ]، { یا } دیگر ببرید و ببینید که % چه کاری انجام می‌دهد.

—> این ( یک خط تستی با (‘s ،[‘s ] و {‘s } درونش است. ))

نکته: این مورد در اشکال‌زدایی یک برنامه با پرانتزهای بی‌همتا بسیار مفید است!

                                                  درس 4.4: دستور جایگزینی

** برای جایگزینی new با old، تایپ کنید: :s/old/new/g **

  1. مکان نما را به خط مشخص‌شده با —> ببرید.
  2. تایپ کنید: :s/thee/the <ENTER>. توجه داشته باشید که این دستور فقط اولین «گگل» موجود در خط را تغییر می‌دهد.
  3. حالا تایپ کنید: :s/thee/the/g. افزودن فلگ g به معنای جایگزینی تمام نتایج موجود در خط است.

—> بهترین زمان برای دیدن گگل‌های زیبا و گگل‌های شاداب، بهار است.

  1. برای تغییر همه‌ی نتایج موجود از کاراکتر بین دو خط، تایپ کنید: :#,#s/old/new/g به جای #ها، اعداد بازه‌ی خطوط را وارد کنید. تایپ کنید: :%s/old/new/g تا تمام نتایج موجود در فایل جایگزین شوند. تایپ کنید: :%s/old/new/gc تا تمام نتایج موجود در فایل پیدا شده و هنگام جایگزینی پرسیده شود که جایگزین شود یا نه.
خلاصه‌ی درس ۴

با فشار دادن CTRL-G موقعیت‌تان در فایل و وضعیت فایل نمایش داده می‌شود. G شما را به انتهای فایل می‌برد. «شماره G» شما را به خط مشخص‌شده می‌برد. gg شما را به اولین خط می‌برد. تایپ کردن / به همراه یک عبارت، آن عبارت را در ادامه‌ی فایل جستجو می‌کند. تایپ کردن ? به همراه یک عبارت، آن عبارت را در جهت عقب جستجو می‌کند. پس از جستجو، برای یافتن نتایج بعدی در همان جهت n را تایپ کنید یا N را برای جستجو در جهت مخالف تایپ کنید. فشار دادن CTRL-O شما را به موقعیت‌های قدیمی‌تر و CTRL-I شما را به موقعیت‌های جدیدتر می‌برد. تایپ کردن % هنگامی که مکان‌نما روی (، )، [، ]، {، یا } قرار دارد، شما را به جفت مربوطه می‌برد. برای جایگزینی اولین old در یک خط، تایپ کنید: :s/old/new برای جایگزینی تمام oldهای یک خط، تایپ کنید: :s/old/new/g برای جایگزینی عبارات بین دو خط با شماره‌های #، تایپ کنید: :#,#s/old/new/g برای جایگزینی همه‌ی نتایج موجود در فایل، تایپ کنید: :%s/old/new/g برای جایگزینی همه‌ی نتایج موجود در فایل همراه با پرسش تأیید، تایپ کنید: :%s/old/new/gc

درس 5.1: اجرای دستور خارجی در Vim

** :! را به همراه یک دستور خارجی تایپ کنید تا اجرا شود. **

  1. دستور آشنای : را تایپ کنید تا مکان‌نما در پایین صفحه قرار گیرد. حالا می‌توانید یک دستور خط فرمان را وارد کنید.
  2. حالا کاراکتر ! (علامت تعجب) را تایپ کنید. این به شما اجازه می‌دهد که بتوانید هر دستور خارجی shell را اجرا کنید.
  3. به عنوان نمونه، ls را به همراه ! تایپ کرده و سپس ‍‍<ENTER> را فشار دهید. این دستور لیستی از دیرکتوری شما را نشان می‌دهد، دقیقاً مانند زمانی که در shell prompt هستید. اگر ls کار نکرد، از «:!dir» استفاده کنید.

نکته: از این طریق می‌توانید هر دستور خارجی‌ای را اجرا کنید، حتی با نشانوندها (آرگومان‌ها).

توجه: همه‌ی دستورات «:» باید با فشردن <ENTER> به اتمام برسند. از حالا به بعد، اشاره‌ای به این موضوع نمی‌کنیم.

                                                 درس 5.2: نکاتی بیش‌تر درباره‌ی نوشتن در فایل

** برای ذخیره تغییرات ایجادشده در متن، :w FILENAME را تایپ کنید. **

  1. برای دریافت لیستی از محتویات دیرکتوری، :!dir یا :!ls را تایپ کنید. در حال حاضر می‌دانید که بعد از تایپ این دستور، باید <ENTER> را فشار دهید.
  2. یک نام فایل که هنوز وجود ندارد را انتخاب کنید، مانند TEST.
  3. حالا تایپ کنید: :w TEST (TEST نام فایلی است که انتخاب کردید.)
  4. این دستور کل فایل (Vim tutor) را تحت نام TEST ذخیره می‌کند. جهت اطمینان، :!dir یا :!ls را دوباره تایپ کنید تا دیرکتوری‌تان را ببینید.

نکته: اگر از Vim خارج شوید و Vim را دوباره با vim TEST اجرا کنید، این فایل یک کپی از آموزش (فایلی که قبلاً در آن بودید) خواهد بود.

  1. حال برای حذف فایل تایپ کنید (ویندوز): :!del TEST یا (یونیکس): :!rm TEST
درس 5.3: انتخاب متن برای نوشتن

** برای ذخیره‌ی بخشی از فایل، «v اشاره :w FILENAME» را تایپ کنید. **

  1. مکان‌نما را به این خط بیاورید.
  2. دکمه‌ی v را فشار داده و مکان نما را به پنجمین قسمت ببرید. توجه داشته باشید که متن هایلایت می‌شود.
  3. کاراکتر «:» را فشار دهید. حالا «:'<,’>» در پایین صفحه ظاهر می‌شود.
  4. تایپ کنید «w TEST». TEST نام فایلی است که از قبل وجود ندارد. قبل از فشردن <ENTER> مطمئن شوید که «:'<,’>w TEST» را می‌بینید.
  5. Vim خطوط انتخاب‌شده را در فایل TEST می‌نویسد. از :!dir یا :!ls استفاده کنید تا آن را ببینید. آن را حذف نکنید! در درس بعدی با آن سروکار خواهیم داشت.

توجه: فشردن v انتخاب Visual را راه‌اندازی می‌کند. می‌توانید مکان‌نما را حرکت دهید تا انتخاب را بزرگ‌تر یا کوچک‌تر کنید. پس از آن، می‌توانید از یک عملگر استفاده کنید تا کاری روی متن انجام شود. به‌طور مثال، d متن را حذف می‌کند.

                                                 درس 5.4: بازیابی و ادغام فایل‌ها

** برای درج محتویات یک فایل، :r FILENAME را تایپ کنید. **

  1. مکان‌نما را دقیقاً بالای این خط قرار دهید.

توجه: پس از اجرای مرحله ۲، متن درس 5.3 را مشاهده خواهید کرد. سپس برای مشاهده‌ی دوباره‌ی این درس، به پایین حرکت کنید.

  1. حالا فایل TEST را با دستور :r TEST بازیابی کنید. TEST نام فایلی است که از آن استفاده کرده بودید. فایل شما بازیابی و زیر خط مکان‌نما قرار می‌گیرد.
  2. برای مطمئن شدن از این که فایل بازیابی شده است، مکان‌نما را به عقب بازگردانید و متوجه می‌شوید که در حال حاضر دو نسخه از درس 5.3، وجود دارد.

توجه: شما همچنین می‌توانید نتیجه‌ی دستورات ترمینال را در فایل بیاورید. برای مثال، :r !ls خروجی دستور ls را خوانده و آن را در زیر مکان‌نما قرار می‌دهد.

                                                 خلاصه درس ۵
  1. :!command فرمان خارجی در ترمینال را اجرا می‌کند. برخی از مثال‌های کاربردی عبارتند از: (ویندوز) (یونیکس) :!dir :!ls – نمایش لیستی از محتویات دیرکتوری :!del FILENAME :!rm FILENAME – حذف فایل FILENAME
  2. :w FILENAME فایل فعلی بازشده در Vim را در فایلی به نام FILENAME ذخیره می‌کند.
  3. v اشاره :w FILENAME خطوط انتخاب‌شده را در فایل FILENAME ذخیره می‌کند.
  4. :r FILENAME محتویات فایل FILENAME را خوانده و آن را در زیر مکان‌نما قرار می‌دهد.
  5. :r !dir خروجی دستور dir را خوانده و آن را زیر مکان‌نما قرار می‌دهد.
درس 6.1: دستور باز کردن

** o را تایپ کنید تا یک خط در زیر مکان نما باز شود و در حالت Insert mode قرار بگیرید. **

  1. مکان نما را به خط مشخص‌شده با —> ببرید.
  2. حرف کوچک o را فشار دهید تا خطی زیر مکان‌نما باز شود. حالا در حالت Insert mode هستید.
  3. اکنون مقداری متن را تایپ کرده و <ESC> را فشار دهید تا از حالت insert خارج شوید.

—> پس از تایپ o مکان‌نما در خط جدید باز و در حالت Insert mode قرار می‌گیرد.

  1. برای باز کردن یک خط در بالای مکان‌نما، کافیست یک O بزرگ را به جای o کوچک تایپ کنید. آن را روی خط زیر امتحان کنید.

—> با تایپ O خطی را در بالای این خط باز کنید، در حالی که مکان‌نما در این خط است.

                                                درس 6.2: دستور اضافه کردن

** برای وارد کردن متن بعد از مکان‌نما، a را تایپ کنید. **

  1. مکان نما را به خط مشخص‌شده با —> ببرید.
  2. e را فشار دهید تا مکان‌نما به انتهای «شم» برود.
  3. یک a (کوچک) برای افزودن متن بعد از مکان‌نما تایپ کنید.
  4. کلمه را همانند جمله‌ی پایینی کنید. ‍<ESC> را فشار دهید تا از حالت Insert mode خارج شوید.
  5. از e استفاده کنید تا به کلمه‌ی ناقص بعدی بروید و مراحل ۳ و ۴ را تکرار کنید.

—> این خط به شم این امکان می‌دهد تا عم متن اضافه کر را به یک خط را تمرین کنید. —> این خط به شما این امکان می‌دهد تا عمل متن اضافه کردن به یک خط را تمرین کنید.

توجه: a، i و A همه به حالت Insert mode می‌روند، تنها تفاوت‌شان در مکان درج کاراکترها است.

                                                درس 6.3: روش دیگری برای جایگزینی

** یک R بزرگ تایپ کنید تا بیش از یک کاراکتر جایگزین شوند. **

  1. مکان نما را به خط مشخص‌شده با —> ببرید. مکان‌نما را به ابتدای اولین xxx ببرید.
  2. حالا R را فشار داده و عدد زیر آن را که در خط دوم هست تایپ کنید، به‌طوری که با xxx جایگزین شود.
  3. برای ترک حالت Replace mode، <ESC> را فشار دهید. توجه کنید که بقیه‌ی خط اصلاح نشده است.
  4. مراحل جایگزینی xxxهای باقی‌مانده را تکرار کنید.

—> اضافه کردن 123 به xxx به شما عدد xxx را می‌دهد.

—> اضافه کردن 123 به 456 به شما عدد 579 را می‌دهد.

توجه: حالت جایگزینی (Replace mode) مانند حالت درج (Insert mode) است، اما هر کاراکتری که تایپ می‌کنید، کاراکتر قبلی حذف می‌شود.

                                                درس 6.4: کپی و  چسباندن متن

** از عملگر y برای کپی کردن متن و از عملگر p برای چسباندن آن استفاده کنید. **

  1. مکان نما را به خط مشخص‌شده با —> ببرید. مکان‌نما را به بعد از «الف)» ببرید.
  2. حالت Visual را با v شروع کنید و مکان‌نما را به قبل از «اولین» حرکت دهید.
  3. y را برای کپی کردن متن هایلایت‌شده تایپ کنید.
  4. با $j مکان‌نما را به انتهای خط بعد ببرید.
  5. p را برای قرار دادن (چسباندن) متن تایپ کنید. سپس ‍<ESC> را فشار دهید.
  6. از حالت Visual mode برای انتخاب « است.» استفاده کنید، آن را با y کپی کنید، با j$ به انتهای خط بعدی بروید و با p متن را در آن‌جا قرار دهید.

—> الف) این اولین آیتم است.

ب)

توجه: شما همچنین می‌توانید از y به عنوان یک عملگر استفاده کنید. برای مثال، yw یک کلمه را کپی می‌کند.

                                                درس 6.5: تنظیم گزینه‌ها

** گزینه‌ای را تنظیم کنید تا در یک جستجو حساسیت به حروف بزرگ و کوچک نادیده گرفته شود. **

  1. کلمه‌ی «ignore» را جستجو کنید: /ignore <ENTER>‍ با فشردن n این کار را چندین بار تکرار کنید.
  2. برای تنظیم نادیده گرفتن حساسیت به حروف بزرگ و کوچک، تایپ کنید: :set ic
  3. حالا با جستجوی «ignore» و فشار دادن n کلمات Ignore و IGNORE نیز یافت شده‌اند.
  4. گزینه‌های “hlsearch” و “incsearch” را تنظیم کنید: :set hls is
  5. اکنون دستور جستجو را دوباره تایپ کنید و ببینید چه اتفاقی می‌افتد: /ignore <ENTER>‍
  6. برای غیرفعال کردن حساسیت به حروف بزرگ و کوچک، تایپ کنید: :set noic

توجه: برای غیرفعال کردن حالت برجستگی کلمات پیدا شده، تایپ کنید: :nohlsearch

توجه: اگر می‌خواهید فقط برای یک فرمان جستجو حساسیت به حروف بزرگ و کوچک نادیده گرفته شود، از c\ استفاده کنید: /ignore\c <ENTER>

                                                خلاصه‌ی درس ۶
  1. برای باز کردن یک خط در پایین و رفتن به حالت Insert mode، از o استفاده کنید. برای باز کردن یک خط در بالای مکان‌نما، O را تایپ کنید.
  2. برای وارد کردن متن بعد از مکان‌نما، a را تایپ کنید. برای وارد کردن متن پس از پایان خط، A را تایپ کنید.
  3. دستور e به انتهای کلمه حرکت می‌کند.
  4. عملگر y متن را کپی کرده و p آن را جای‌گذاری می‌کند.
  5. با تایپ یک حرف بزرگ R وارد حالت Replace mode می‌شوید، تا زمانی که ‍<ESC> فشار داده شود.
  6. تایپ کردن «:set xxx» گزینه‌ی «xxx» را تنظیم می‌کند. برخی گزینه‌ها عبارتند از: ‘ic’ ‘ignorecase’ نادیده گرفتن کوچکی و بزرگی حروف هنگام جستجو
<span dir="ltr">'is' 'incsearch'</span>	نمایش نتایج ناقص هنگام جستجوی یک عبارت

<span dir="ltr">'hls' 'hlsearch'</span>	هلایلایت کردن همه‌ی عبارات یافت‌شده

 می‌توانید از هر دو شکل کوتاه یا بلند این گزینه‌ها استفاده کنید.
  1. برای غیرفعال کردن گزینه‌ها از “no” استفاده کنید: :set noic
درس 7.1: راهنمایی گرفتن 

** از سیستم راهنمای برخط Vim استفاده کنید **

Vim دارای یک سیستم جامع کمک برخط است. برای شروع، یکی از آن‌ها را امتحان کنید: این سه:

  • کلید <HELP> را فشار دهید (در صورت داشتن)
  • کلید <F1> را فشار دهید (در صورت وجود)
  • تایپ کنید: :help <ENTER>

متن را در پنجره‌ی راهنما بخوانید تا بدانید که راهنما چگونه کار می‌کند. CTRL-W CTRL-W را تایپ کنید تا از یک پنجره به پنجره‌ی دیگری پرش کنید. برای بستن پنجره راهنما، تایپ کنید: :help <ENTER>‍‍

می‌توانید تقریباً در مورد هر موضوعی، با ارائه‌ی نشانوند (آرگومان) به دستور «:help» موضوع موردنظر را پیدا کنید. این موارد را امتحان کنید (یادتان نرود که <ENTER> بزنید):

:help w :help c_CTRL-D :help insert-index :help user-manual

                                                درس 7.2: ایجاد یک اسکریپت استارتآپ

** فعال کردن قابلیت‌های Vim **

ویم دارای قابلیت‌های بسیار بیش‌تری نسبت به Vi است، اما بیش‌تر آن‌ها به‌صورت پیش‌فرض غیرفعال هستند. برای شروع استفاده از قابلیت‌های بیش‌تر، باید یک فایل «vimrc» ایجاد کنید.

  1. شروع به ویرایش فایل «vimrc» کنید. این بستگی به سیستم شما دارد:
<span dir="ltr">:e ~/.vimrc</span>   برای یونیکس

<span dir="lrr">:e $VIM/_vimrc</span>   برای ویندوز
  1. اکنون محتوای فایل «vimrc» را بخوانید: :r $VIMRUNTIME/vimrc_example.vim
  2. با دستور زیر در فایل بنویسید: :w

دفعه‌ی بعد که Vim را شروع کردید، از هایلایت کردن سینتکس استفاده کنید. می‌توانید تمام تنظیمات موردنظر خود را به فایل «vimrc» اضافه کنید. برای اطلاعات بیش‌تر، تایپ کنید: :help vimrc-intro

                                                درس 7.3: پایان

** تکمیل خط فرمان با CTRL-D و ‍<TAB> **

  1. مطمئن شوید که Vim در حالت compatible mode نیست: :set nocp
  2. ببینید چه فایل‌هایی در دیرکتوری موجود هستند: :!ls یا :!dir
  3. شروع یک دستور را تایپ کنید: :e
  4. CTRL-D را فشار دهید. Vim لیستی از دستوراتی را که با «e» شروع می‌شوند نمایش می‌دهد.
  5. d را تایپ کنید. Vim نام دستور را تکمیل می‌کند (:edit).
  6. حالا یک space بزنید و نام فایلی که از قبل موجود است و می‌خواهید آن را ویرایش کنید را وارد کنید: :edit FIL
  7. <TAB> را فشار دهید. Vim نام را کامل می‌کند (اگر یکتا باشد).

توجه: عمل تکمیل کردن برای بسیاری از دستورات کار می‌کند. فقط کافی است CTRL-D و <TAB> را فشار دهید. کلید ‍‍<TAB> به ویژه برای :help کاربردی است.

                                                خلاصه‌ی درس ۷
  1. :help را تایپ کنید یا <F1> یا <HELP> را فشار دهید تا صفحه‌ی راهنما باز شود.
  2. :help cmd را تایپ کنید تا راهنمای cmd را ببینید.
  3. CTRL-W CTRL-W را تایپ کنید تا به پنجره‌ی دیگری بروید.
  4. :q را تایپ کنید تا پنجره‌ی راهنما بسته شود.
  5. یک اسکریپت استارتآپ vimrc ایجاد کنید تا تنظیمات موردنظرتان را حفظ کنید.
  6. هنگام تایپ دستور «:»، CTRL-D را فشار دهید تا دستورهای ممکن را که با آن حرف شروع می‌شوند را ببینید. برای استفاده از تکمیل خودکار دستورات، ‍<TAB> را فشار دهید.

جهت مطالعه‌ی راهنمای کاربر، :help user-manual را تایپ کنید.

برای مطالعه‌ی بیش‌تر می‌توانید کتاب‌های زیر را مطالعه کنید:

Vim – Vi Improved – by Steve Oualline Publisher: New Riders

Learning the Vi Editor – by Linda Lamb Publisher: O’Reilly & Associates Inc.

این آموزش توسط

Michael C. Pierce و Robert K. Ware

نوشته شده است، از دانشگاه:

Colorado School of Mines using ideas supplied by Charles Smith, Colorado State University. E-mail: bware{at}mines.colorado.edu.

ویرایش شده برای

Vim

توسط:

Bram Moolenaar


۰ دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *