Vim Farsi

test repo and scapegoat page build for https://vimpersian.github.io/

View on GitHub

این مخزن صرفا جهت تست‌های سایت https://vimpersian.github.io ایجاد شده است. مخزن اصلی در آدرس https://github.com/vimpersian/vimpersian.github.io واقع شده است.


Hello Vim World!

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

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

ویم دارای گرامر بخصوصی است که آن‌را می‌توان به COM خلاصه کرد.
تمام دستورات ویم می‌توانند با یک عدد پیش از آن‌ها، به تعداد آن عدد انجام شوند. همچنین تمام دستورات ویم نیز می‌توانند در جهت خاصی مانند ،چپ، راست، تا آخر خط، تا آخر کلمه، تا آخر پاراگراف ، تا اولین خط خالی و ... انجام شوند.

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

این راهنما باید بعد از انجام کامل vimtutor خوانده شود.
در ترمینال عبارت vimtutor را وارد کنید و درس‌ها را انجام دهید. اگر با زبان انگلیسی آن راحت نیستید، این پلی‌لیست را در یوتوب ببینید.



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



  1. حرکت در فایل
  2. حرکت با حروف، کلمه یا توکن
  3. حرکت با خطوط
  4. حرکت به وسیله صفحه
  5. وارد کردن متن
  6. ویرایش متن
  7. کات کپی و جایگذاری
  8. حالت ویژوال
  9. جستجو در متن
  10. ذخیره کردن و خروج از فایل
  11. کار کردن با بیش از یک فایل
  12. مارک‌ها و پرش‌ها
  13. ماکرو
  14. فعال کردن تم‌ها در ویم
  15. دستورات جایگزینی متن
  16. فلگ های مرسوم برای دستورات جایگزینی
  17. آرگومان های خط فرمان

حرکت در فایل

حرکت با حروف، کلمه یا توکن

کلید‌های اساسی حرکت در ویم این‌ها هستند:
این کلید‌ها را می‌توان با یک شمارش همراه کرد تا به توان همان عدد انجام شوند


برای پرش به پرانتز بسته، گیومه بسته و غیره از **`%`** استفاده کنید

:h matchpairs

حرکت با خطوط


برای استفاده از این قابلیت، شماره خطوط را فعال کنید.
:set number


حرکت به وسیله صفحه

دستورهای زیر برای اسکرول کردن سریع در فایل کاربرد دارند.


وارد کردن متن

ویرایش متن

کات کپی و جایگذاری


حالت ویژوال

به غیر از حالت ورود متن (insert mode) و حالت نرمال (normal mode) و حالت دستوری (command mode)، حالت دیگری نیز به نام حالت ویژوال (visual mode) وجود دارد. از این مود برای انتخاب و ویرایش و انجام عملیات‌های مختلف بر روی بخش‌های بزرگ‌تری از متن استفاده می‌شود ویژوال مود سه حالت کلی دارد. - حالت کاراکتری - حالت خطی - حالت بلاک
character mode, line mode, and block mode


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

پس از انتخاب متن مورد نظر می‌توانید عملیات‌های مختلف را به وسیله‌ی کلید‌های زیر انجام دهید.

جستجو در متن


ذخیره کردن و خروج از فایل

کار کردن با بیش از یک فایل



مارک‌ها و پرش‌ها

ماکرو

برای دستور ها یا ویرایش های تکرار شونده در ویم میتوان از ماکروها استفاده کرد. برای ضبط یک ماکرو ابتدا کلید q و سپس نام رجیستری که می‌خواهیم ماکرو در آن ضبط شود را وارد می‌کنیم، بدین ترتیب می‌توانیم چندین ماکرو بصورت همزمان داشته باشیم. در این مثال از رجیستر a استفاده شده است.
برای مثال اگر محتوای زیر را داشته باشیم:
aaa
bbb
ccc
ddd
و بخواهیم در آخر هر خط یک کاراکتر وارد کنیم، برای مثال حرف x، می توانیم ماکرو زیر را ضبط کنیم.
Ax<ESC>j

با در نظر گرفتن کلید ضبط و پایان ضبط ماکرو

qAx<ESC>jq
در اینجا با استفاده از اپراتور A، به آخر خط رفته و وارد مود ورود متن یا همان اینسرت مود می شویم. حرف x را تایپ کرده و با زدن کلید اسکیپ به مود نرمال بر می گردیم و در آخر با زدن کلید j به خط پایین می رویم تا ماکرو بتواند ادامه پیدا کند. همان‌طور که پیش‌تر گفتیم، همه‌چیز در ویم شمارش پذیر یا توان پذیر هستند. بنابراین برای اجرای یک ماکرو به توان عدد خاصی، آن عدد را قبل از فراخوانی ماکرو وارد می‌کنیم.


10@a 
ماکروی ضبط شده در رجیستر را به تعداد ده بار اجرا می‌کند

فعال کردن تم‌ها در ویم

چند تم پیش‌فرض زیبا:
با استفاده از دستور زیر نیز می‌توان رنگ زمینه پیش‌فرض ویم را به روشن یا تاریک تغییر داد:


:set background=dark
:set background=light
برای استفاده بهتر از رنگ ها و همچنین فعال سازی سینتکس، از دستور زیر استفاده می کنیم:


:syntax on
بعدها شیوه ذخیره کردن این تنظیمات در ویم را خواهیم آموخت.

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

یکی از قابلیت‌های قدرتمند ویم، دارا بودن یک نوع فرمان SED داخلی است. این فرمان که در ویم معمولاً substitute خوانده می‌شود، ابزار بسیار پیشرفته‌ای برای یافتن و ویرایش متن به وسیله‌ی الگو‌های رجکس است. با استفاده از این دستور، کاربر ویم می‌تواند ویرایش‌های عظیم و پیچیده‌ای را روی فایل‌ها اعمال کند. عملیات‌های طولانی و طاقت فرسای اصلاح متنی طولانی با استفاده صحیح از این دستور به آسانی صحبت کردن با بهترین دوستتان می‌شوند. برای مثال, یک فایل html با محتوای زیر داریم.

Quote of the day

Shopenhauer

"The majority of men... are not capable of thinking, but only of believing, and... are not accessible to reason, but only to authority."
(Arthur Shopenhauer)
فرض می‌کنیم که این بخشی از یک مقاله دانشگاهی یا پستی برای یک وبلاگ است. همچنین فرض می‌کنیم که ما نام آرتور شوپنهاور را از اول این فایل اشتباه تایپ کرده‌ایم. به‌جای Sch برای صدای ش در آلمانی از Sh در انگلیسی استفاده کرده‌ایم. حالا ساعت‌ها کار ما بخاطر این اشتباه غیرقابل ارائه است. برای حل این مشکل از یک دستور جایگزینی ساده استفاده می‌کنیم.
:%s/Shopenhauer/Schopenhauer/g
اجازه بدهید دستور را خرد کنیم.


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


سینتکس ساده ی دستورات جایگزینی به شکل زیر است:
:s/search/replace/flags

فلگ های مرسوم برای دستورات جایگزینی

آرگومان های خط فرمان

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


پر کاربردترین این آرگومان ها از نظر نگارنده در جدول اول و باقی آن ها در جدول دوم آمده اند.

جدول اول

Option Description
-o باز کردن تعدادی فایل در اسپلیت های افقی
-O باز کردن تعدادی فایل در اسپلیت های افقی عمودی
-p باز کردن تعدادی فایل در تب های مجزا درون ویم
+/{pat} تعیین جایگاه نشانگر براساس اولین وقوع رجکس
-u {vimrc} خواندن فایل پیکره بندی غیر از فایل پیش فرض
--clean باز کردن ویم بدون تنظیمات شخصی - بدون ویم آرسی
--version چاپ اطلاعات مربوط به ورژن و ویژگی ها

جدول دوم

Option Description
vim باز کردن ویم و یک بافر خالی در حالت نرمال
vim filename باز کردن ویم با یک فایل مشخص
vim - stdin خواندن متن از ورودی استاندارد
-n or --normal باز کردن ویم در حالت نرمال، پیش‌فرض
-i or --insert باز کردن ویم در مود اینسرت
-R or --readonly باز کردن فایل در حالت غیرقابل ویرایش
-N or --noplugin باز کردن ویم بدون لود کردن هیچ پلاگینی
+[num] تعیین جایگاه نشانگر براساس شماره خط
+{command} or -c {command} اجرای یک دستور پس از بازکردن فایل
-S {file} سورس کردن یک فایل ویم اسکریپت
-g or --gui باز کردن جی ویم یا همان ویم در پنجره گرافیکی
-A باز کردن ویم در حالت عربی، راست به چپ آینه شده، درصورتی که با گزینه مربوط کامپایل شده باشد
-b حالت ویرایش فایل‌های باینری
-C vi حالت هماهنگی با ادیتور
-d diff باز کردن ویم در حالت دیف , برای مقایسه فایل‌ها
-E باز کردن ویم در مود ارتقا یافته ی اکس
-F باز کردن ویم با تنظیمات فارسی، این گزینه دیگر وجود ندارد
-h نمایش پیام کمکی
-m غیر فعال کردن امکان ایجاد تغییر
-N vi خاموش کردن تطابق با
-R read only حالت
-r لیست کردن فایل های سواپ ویم جهت ریکاوری
-x فعال سازی رمزگذاری فایل
-y باز کردن ویم در حالت ایزی-ویم / در این حالت ویم نت پد ویندوز را شبیه سازی می کند
-Z باز کردن ویم در حالت محدود، جلوگیری از اجرای دستورات پوسته و غیره
-- اعلام پایان آرگومان های ویم، پس از این تمام آرگومان ها به عنوان نام فایل خوانده می شوند




آخرین آپدیت: ۲۵ شهریور ۱۴۰۱ Sha Sha 25 07:07:01 +0330 1402

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

جهت کمک به این پروژه و اضافه کردن مطالب و نکات خود در باره ویم، فایل راهنمای داخل مخزن را ببینید.

جهت حمایت مالی از پروژه، در صورتی که در ایران هستید، روی دکمه‌ی برام قهوه بخر کلیک کنید.

جهت ارتباط با نگارنده از طریق تلگرام یا ایمیل اقدام کنید.

این سایت از یک اسکریپت web analytics کاملا اوپن سورس، ضمن احترام به حریم خصوصی کاربر استفاده می‌کند.

Contact me

Telegram Protonmail