ویم: تفاوت بین نسخه‌ها

از ویکی فارسی اوبونتو
پرش به: ناوبری، جستجو
(کاربرد)
جز
 
(۲۹ نسخه‌ٔ میانی ویرایش شده توسط ۲ کاربر نشان داده نشده)
سطر ۱: سطر ۱:
 
[[پرونده:Vimlogo.svg|128px|thumb|left|نشان ویرایشگر متن ویم]]
 
[[پرونده:Vimlogo.svg|128px|thumb|left|نشان ویرایشگر متن ویم]]
'''ویم''' (به انگلیسی Vim مخفّف Vi IMproved به معنای [[Vi|وی‌ آی]] بهبود یافته)، یک [[Text Editor|ویرایشگر متن]] سبک، قدرتمند، [[Free Software|آزاد]] و سازگار با وی است.
+
'''ویم''' (به انگلیسی Vim مخفّف Vi IMproved به معنای [[Vi|وی‌ آی]] بهبود یافته)، یک [[Text Editor|ویرایشگر متن]] [[Free Software|آزاد]]، سبک، برای برنامه‌نویس‌ها،  و سازگار با وی آی است.
  
 
__TOC__
 
__TOC__
سطر ۷: سطر ۷:
 
* سبک
 
* سبک
 
* سریع
 
* سریع
* در دسترس (روی بیشتر [[توزیع]]‌ها به صورت پیش‌فرض نصب است)
+
* در دسترس (روی بیشتر [[Distro|توزیع‌ها]]به صورت پیش‌فرض نصب است)
  
 
== نصب ==
 
== نصب ==
سطر ۲۰: سطر ۲۰:
 
{{bc|$ vim FILE}}
 
{{bc|$ vim FILE}}
  
برای گشودن پوشهٔ مورد نظر با ویم، از این فرمان استفاده کنید:
+
برای گشودن شاخهٔ مورد نظر با ویم، از این فرمان استفاده کنید:
 
{{bc|$ vim DIR}}
 
{{bc|$ vim DIR}}
برای نمونه فرمان زیر پوشهٔ جاری را با مدیر فایل ویم می‌گشاید.
+
برای نمونه فرمان زیر شاخهٔ جاری را با مدیر پروندهٔ ویم می‌گشاید.
 
{{bc|$ vim . }}
 
{{bc|$ vim . }}
  
سطر ۳۵: سطر ۳۵:
 
|  <code>h</code> || رفتن به چپ
 
|  <code>h</code> || رفتن به چپ
 
|-
 
|-
|  <code>j</code> || رفتن به پایین
+
|  <code>j</code> || رفتن به خط بعدی (jump)
 
|-
 
|-
|  <code>k</code> || رفتن به بالا
+
|  <code>7j</code> || ۷ خط به پایین رفتن
 +
|-
 +
|  <code>k</code> || رفتن به خط پیشین
 
|-
 
|-
 
|  <code>l</code> || رفتن به راست
 
|  <code>l</code> || رفتن به راست
سطر ۴۴: سطر ۴۶:
 
|-
 
|-
 
|  <code>w</code> || رفتن به واژهٔ پسین (word)
 
|  <code>w</code> || رفتن به واژهٔ پسین (word)
 +
|-
 +
|  <code>W</code> || رفتن به واژهٔ کامل پسین (Word)
 
|-
 
|-
 
|  <code>b</code> || رفتن به واژهٔ پیشین (back)
 
|  <code>b</code> || رفتن به واژهٔ پیشین (back)
 +
|-
 +
|  <code>B</code> || رفتن به واژهٔ کامل پیشین (Back)
 
|-
 
|-
 
|  <code>e</code> || رفتن به انتهای واژه (end)
 
|  <code>e</code> || رفتن به انتهای واژه (end)
|-
 
|  <code>W</code> || رفتن به واژهٔ کامل پسین (Word)
 
|-
 
|  <code>B</code> || رفتن به واژهٔ کامل پیشین (Back)
 
 
|-
 
|-
 
|  <code>E</code> || رفتن به انتهای واژهٔ کامل (End)
 
|  <code>E</code> || رفتن به انتهای واژهٔ کامل (End)
سطر ۵۷: سطر ۵۹:
 
|
 
|
 
|-
 
|-
|  <code>0</code> || رفتن به ابتدای خط
+
|  <code>0</code> || رفتن به شروع خط
 
|-
 
|-
 
|  <code>^</code> || رفتن به نخستین نویسهٔ خط
 
|  <code>^</code> || رفتن به نخستین نویسهٔ خط
سطر ۶۳: سطر ۶۵:
 
|  <code>$</code> || رفتن به انتهای خط
 
|  <code>$</code> || رفتن به انتهای خط
 
|-
 
|-
|  <code>G</code> || رفتن به آخرین خط پرونده (Go)
+
|  <code>gg</code> || رفتن به نخستین خط میانگیر (go)
 +
|-
 +
| <code>37gg</code>, <code>37G</code> || رفتن به خط ۳۷ میانگیر
 +
|-
 +
|  <code>G</code> || رفتن به آخرین خط میانگیر (Go)
 +
|-
 +
|  <code>}</code> || رفتن به ابتدای بند
 
|-
 
|-
|  <code>20G</code> || رفتن به خط شمارهٔ ۲۰
+
|  <code>{</code> || رفتن به پایان بند
 
|-
 
|-
 
|  <code>'</code><code>'</code> || بازگشت به آخرین مکان پیش از زدن دستور پیشین
 
|  <code>'</code><code>'</code> || بازگشت به آخرین مکان پیش از زدن دستور پیشین
 
|-
 
|-
 +
|  <code>gd</code> || رفتن به تعریف یک تابع(go to definition)
 +
|-
 +
|  <code>ctrl + o</code> || بازگشت به نقطهٔ پیش
 
|}
 
|}
  
سطر ۱۶۰: سطر ۱۷۱:
 
! class="unsortable"| کاربرد
 
! class="unsortable"| کاربرد
 
|-
 
|-
|  <code>*</code> || جست‌وجو برای واژهٔ زیر مکان نما
+
|  <code>*</code> || جست‌وجو برای واژهٔ زیر مکان نما به پیش
 +
|-
 +
|  <code>#</code> || جست‌وجو برای واژهٔ زیر مکان نما به پس
 
|-
 
|-
|  <code>/</code> || جست‌وجوی سریع متن دلخواه در پرونده
+
|  <code>/</code> || جست‌وجوی سریع متن دلخواه در میانگیر
 
|-
 
|-
 
|  <code>n</code> || رفتن به یافتهٔ پسین (next)
 
|  <code>n</code> || رفتن به یافتهٔ پسین (next)
سطر ۱۷۰: سطر ۱۸۳:
 
|  <code dir="ltr">:s/old/new/g</code> || جایگزینی واژه در خط جاری
 
|  <code dir="ltr">:s/old/new/g</code> || جایگزینی واژه در خط جاری
 
|-
 
|-
|  <code dir="ltr">:%s/old/new/g</code> || جایگزینی واژه در تمام پرونده
+
|  <code dir="ltr">:%s/old/new/g</code> || جایگزینی واژه در تمام میانگیر
 
|-
 
|-
|  <code dir="ltr">:%s/old/new/gc</code> || جایگزینی واژه در تمام پرونده، با تأیید
+
|  <code dir="ltr">:%s/old/new/gc</code> || جایگزینی واژه در تمام میانگیر، با تأیید
 
|-
 
|-
 
|}
 
|}
سطر ۲۱۴: سطر ۲۲۷:
 
|  <code dir="ltr">:wq</code> || ذخیره و خروج (write quit)
 
|  <code dir="ltr">:wq</code> || ذخیره و خروج (write quit)
 
|-
 
|-
|  <code dir="ltr">:ZZ</code> || ذخیره و خروج (write quit)
+
|  <code dir="ltr">:qall</code> || خروج از همهٔ میانگیرها
 
|-
 
|-
 
|  <code dir="ltr">:q!</code> || خروج بدون ذخیره (quit)
 
|  <code dir="ltr">:q!</code> || خروج بدون ذخیره (quit)
 
|-
 
|-
|  <code dir="ltr">:e!</code> || بارگذاری مجدد صفحه
+
|  <code dir="ltr">:e!</code> || بار کردن دوبارهٔ میانگیر
 
|-
 
|-
 
|}
 
|}
سطر ۲۲۶: سطر ۲۳۹:
 
{{bc|:set termbidi}}
 
{{bc|:set termbidi}}
  
== آموزش ==
 
برای آموزش  کار با ویم از {{ic|vimtutor}} که به همراه ویم نصب شده است، استفاده کنید.
 
{{bc|$ vimtutor}}
 
  
 +
== پشتیبانی از موشی ==
 +
برای پشتیبانی از [[Mouse|موشی]]، از دستور زیر استفاده کنید:
 +
 +
{{bc|
 +
:set mouse{{=}}a
 +
}}
  
 
== تنظیمات ویم ==
 
== تنظیمات ویم ==
تنظیمات ویم در فایل {{ic|.vimrc}} در خانه ذخیره می‌شود.  
+
تنظیمات ویم در پروندهٔ {{ic|.vimrc}} در خانه ذخیره می‌شود.  
  
 
با فرمان زیر پرونده را ایجاد یا باز کنید و تنظیمات خود را در آن قرار دهید.  
 
با فرمان زیر پرونده را ایجاد یا باز کنید و تنظیمات خود را در آن قرار دهید.  
 
{{bc|$ vim ~/.vimrc}}
 
{{bc|$ vim ~/.vimrc}}
 +
 +
{{نکته| در فایل vimrc. نباید : را در شروع تنظیم قرار داد. }}
 +
 +
== جابه‌جایی بین میانگیر‌ها==
 +
برای جا به‌جایی بین میانگیرها کلیدهای <code>ctrl + w</code> را می‌زنیم.
 +
برای تغییر مکان میانگیر نخست با <code>ctrl + w</code> یک میانگیر را فعال می‌کنیم و با کلید <code>shift + hjlk</code> مکان میانگیر را تغییر می‌دهیم.
 +
 +
==شبیه‌ساز پایانه==
 +
می‌توانید در ویم شبیه‌ساز پایانه را اجرا کند.
 +
{{bc|
 +
:below term
 +
}}
 +
 +
چند کلید میانبر در این حالت
 +
 +
* جابه جایی بین میانگیرها با کلید ترکیبی <code>ctrl + w</code>
 +
* فعال سازی اسکرول با <code>ctrl + w</code> و <code>shift + n</code>
 +
* خروج با فشردن i
 +
 +
== ویم در مرورگر ==
 +
 +
 +
با نصب افزونهٔ '''vim-vixen''' میانبرهای ویم را در فایرفاکس استفاده کنید.
 +
 +
[https://addons.mozilla.org/en-US/firefox/addon/vim-vixen پیوند به افزونهٔ vim-vixen ]
 +
 +
== آموزش ==
 +
برای آموزش  کار با ویم از {{ic|vimtutor}} که به همراه ویم نصب شده است، استفاده کنید.
 +
{{bc|$ vimtutor}}
 +
  
 
== پیوند به بیرون ==
 
== پیوند به بیرون ==
[https://vim.rtorr.com/ خلاصه دستورهای ویم ]
+
[https://vim.rtorr.com خلاصه دستورهای ویم ]
  
[https://amirsamimi.ir/vim/ ویدیوهای آموزش فارسی ویم]
+
[https://amirsamimi.ir/vim ویدیوهای آموزش فارسی ویم]
  
[https://jadi.net/2020/05/vim-prat-3/ ادیتور ویم برای برنامه نویسی]
+
[https://jadi.net/2020/05/vim-prat-3 ادیتور ویم برای برنامه نویسی]
  
 
[https://vim-bootstrap.com تولید vimrc]
 
[https://vim-bootstrap.com تولید vimrc]
 +
 +
[https://vimawesome.com فهرستی جالب از افزونه‌های ویم]
  
 
[[رده:ویرایشگر متن]]
 
[[رده:ویرایشگر متن]]

نسخهٔ کنونی تا ‏۲۸ تیر ۱۴۰۱، ساعت ۱۵:۲۱

نشان ویرایشگر متن ویم

ویم (به انگلیسی Vim مخفّف Vi IMproved به معنای وی‌ آی بهبود یافته)، یک ویرایشگر متن آزاد، سبک، برای برنامه‌نویس‌ها، و سازگار با وی آی است.


ویژگی‌ها

  • سبک
  • سریع
  • در دسترس (روی بیشتر توزیع‌ها‌ به صورت پیش‌فرض نصب است)

نصب

برای نصب این نرم افزار، از فرمان زیر استفاده کنید:

$ sudo apt install vim

برای نصب محیط گرافیکی ویم، بدین صورت عمل کنید:

$ sudo apt install gvim

کاربرد

برای گشودن پروندهٔ مورد نظر با ویم، از این فرمان استفاده کنید:

$ vim FILE

برای گشودن شاخهٔ مورد نظر با ویم، از این فرمان استفاده کنید:

$ vim DIR

برای نمونه فرمان زیر شاخهٔ جاری را با مدیر پروندهٔ ویم می‌گشاید.

$ vim . 

ویم دارای سه حالت دستور، درج و بصری است. در هرکجا برای وارد شدن به حالت دستور، کافی است دکمهٔ فرار را بزنید.

از فرمان‌های زیر در حالت دستور استفاده کنید:

حرکت مکان‌نما

میانبر کاربرد
h رفتن به چپ
j رفتن به خط بعدی (jump)
7j ۷ خط به پایین رفتن
k رفتن به خط پیشین
l رفتن به راست
w رفتن به واژهٔ پسین (word)
W رفتن به واژهٔ کامل پسین (Word)
b رفتن به واژهٔ پیشین (back)
B رفتن به واژهٔ کامل پیشین (Back)
e رفتن به انتهای واژه (end)
E رفتن به انتهای واژهٔ کامل (End)
0 رفتن به شروع خط
^ رفتن به نخستین نویسهٔ خط
$ رفتن به انتهای خط
gg رفتن به نخستین خط میانگیر (go)
37gg, 37G رفتن به خط ۳۷ میانگیر
G رفتن به آخرین خط میانگیر (Go)
} رفتن به ابتدای بند
{ رفتن به پایان بند
'' بازگشت به آخرین مکان پیش از زدن دستور پیشین
gd رفتن به تعریف یک تابع(go to definition)
ctrl + o بازگشت به نقطهٔ پیش

برش و جای‌گذاری

میانبر کاربرد
y فرستادن متن انتخابی به حافظه (yank)
yw فرستادن واژهٔ جاری به حافظه (yank word)
y3w فرستادن ۳ واژه از واژهٔ جاری به حافظه (yank 3 words)
y10w فرستادن ۱۰ واژه از واژهٔ جاری به حافظه (yank 10 words)
yW فرستادن واژهٔ کامل جاری به حافظه (yank Word)
y3W فرستادن ۳ واژهٔ کامل از واژهٔ کامل جاری به حافظه (yank 3 Words)
yy فرستادن خط جاری به حافظه
y3y فرستادن ۳ خط از خط جاری مکان‌نما به حافظه
x حذف نویسهٔ زیر مکان‌نما و فرستادن به حافظه
dw حذف یک واژه و فرستادن به حافظه (delete word)
d3w حذف ۳ واژه و فرستادن به حافظه (delete 3 words)
d10w حذف ۱۰ واژه و فرستادن به حافظه (delete 10 words)
dW حذف یک واژهٔ کامل و فرستادن به حافظه (delete Word)
d3W حذف ۳ واژهٔ کامل و فرستادن به حافظه (delete 3 Words)
dd حذف یک خط و فرستادن به حافظه
d3d حذف ۳ خط و فرستادن به حافظه
d0 حذف تا ابتدای خط و فرستادن به حافظه
^d حذف تا نخستین نویسهٔ خط و فرستادن به حافظه
$d حذف تا انتخای خط و فرستادن به حافظه
dG حذف تا آخرین خط پرونده و فرستادن به حافظه
d20G حدف تا خط شمارهٔ ۲۰ و فرستادن به حافظه
p جای‌گذاری از حافظه پس از مکان‌نما
P جای‌گذاری از حافظه پیش از مکان‌نما

رفتن به حالت‌های دیگر

میانبر کاربرد
i ورود به حالت درج پیش از مکان‌نما (insert)
I ورود به حالت درج در ابتدای خط فعلی
a ورود به حالت درج پس از مکان‌نما
A ورود به حالت درج در انتهای خط فعلی
o ایجاد یک خط در پایین خط جاری و ورود به حالت درج در ابتدای خط جدید (open)
O ایجاد یک خط در بالای خط جاری و ورود به حالت درج در ابتدای خط جدید (open)
v ورود به حالت بصری (visual)
V ورود به حالت بصری خطّی
^v ورود به حالت بصری بلوکی

جست‌وجو

میانبر کاربرد
* جست‌وجو برای واژهٔ زیر مکان نما به پیش
# جست‌وجو برای واژهٔ زیر مکان نما به پس
/ جست‌وجوی سریع متن دلخواه در میانگیر
n رفتن به یافتهٔ پسین (next)
N رفتن به یافتهٔ پیشین
:s/old/new/g جایگزینی واژه در خط جاری
:%s/old/new/g جایگزینی واژه در تمام میانگیر
:%s/old/new/gc جایگزینی واژه در تمام میانگیر، با تأیید

ویرایش

میانبر کاربرد
u برگردان (undo)
^r از نو (redo)
r جایگزینی تک‌نویسهٔ زیر مکان‌نما (replace)
J آوردن خطّ زیرین به انتهای خطّ جاری (Join)
cw تعویض واژهٔ جاری (change word)
c3w تعویض ۳ واژه از واژهٔ جاری (change 3 words)
cW تعویض واژهٔ جاری (change Word)
cc تعویض خط جاری
c0 تعویض تا ابتدای خط جاری
c20G تعویض تا خط شمارهٔ ۲۰
. تکرار دستور پیشین

ذخیره و خروج

میانبر کاربرد
:w نوشتن در پرونده (write)
:wq ذخیره و خروج (write quit)
:qall خروج از همهٔ میانگیرها
:q! خروج بدون ذخیره (quit)
:e! بار کردن دوبارهٔ میانگیر

پشتیبانی فارسی

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

:set termbidi


پشتیبانی از موشی

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


:set mouse=a

تنظیمات ویم

تنظیمات ویم در پروندهٔ .vimrc در خانه ذخیره می‌شود.

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

$ vim ~/.vimrc


نکته: در فایل vimrc. نباید : را در شروع تنظیم قرار داد.

جابه‌جایی بین میانگیر‌ها

برای جا به‌جایی بین میانگیرها کلیدهای ctrl + w را می‌زنیم. برای تغییر مکان میانگیر نخست با ctrl + w یک میانگیر را فعال می‌کنیم و با کلید shift + hjlk مکان میانگیر را تغییر می‌دهیم.

شبیه‌ساز پایانه

می‌توانید در ویم شبیه‌ساز پایانه را اجرا کند.

:below term

چند کلید میانبر در این حالت

  • جابه جایی بین میانگیرها با کلید ترکیبی ctrl + w
  • فعال سازی اسکرول با ctrl + w و shift + n
  • خروج با فشردن i

ویم در مرورگر

با نصب افزونهٔ vim-vixen میانبرهای ویم را در فایرفاکس استفاده کنید.

پیوند به افزونهٔ vim-vixen

آموزش

برای آموزش کار با ویم از vimtutor که به همراه ویم نصب شده است، استفاده کنید.

$ vimtutor


پیوند به بیرون

خلاصه دستورهای ویم

ویدیوهای آموزش فارسی ویم

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

تولید vimrc

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