ویم
ویم (به انگلیسی Vim مخفّف Vi IMproved به معنای وی آی بهبود یافته)، یک ویرایشگر متن آزاد، سبک، برای برنامهنویسها، و سازگار با ویآی است.
محتویات
ویژگیها
- سبک
- سریع
- در دسترس (روی بیشتر توزیعها به صورت پیشفرض نصب است)
نصب
برای نصب این نرم افزار، از فرمان زیر استفاده کنید:
$ sudo apt install vim
برای نصب محیط گرافیکی ویم، بدین صورت عمل کنید:
$ sudo apt install gvim
کاربرد
گشودن پرونده و شاخه
میانبر | کاربرد |
---|---|
vim FILE |
گشودن پرونده یا ساخت پروندهٔ تازه |
vim DIR |
گشودن شاخهٔ مورد نظر |
برای نمونه فرمان زیر شاخهٔ جاری را با مدیر پروندهٔ ویم میگشاید.
$ vim .
ویم دارای سه حالت دستور، درج و بصری است. در هرکجا برای وارد شدن به حالت دستور، کافی است دکمهٔ فرار یا کلید ترکیبی ] + Ctrl
را بزنید.
پس از اجرا ویم در حالت دستور قرار میگیرد.
حرکت مکاننما در حالت دستور
میانبر | کاربرد |
---|---|
h |
رفتن به چپ |
j |
رفتن به خط بعدی (jump) |
7j |
۷ خط به پایین رفتن |
k |
رفتن به خط پیشین |
l |
رفتن به راست |
w |
رفتن به واژهٔ پسین (word) |
W |
رفتن به واژهٔ کامل پسین (Word) |
b |
رفتن به واژهٔ پیشین (back) |
B |
رفتن به واژهٔ کامل پیشین (Back) |
e |
رفتن به انتهای واژه (end) |
E |
رفتن به انتهای واژهٔ کامل (End) |
0 |
رفتن به شروع خط |
^ |
رفتن به نخستین نویسهٔ خط |
$ |
رفتن به انتهای خط |
gg |
رفتن به نخستین خط میانگیر (go) |
G |
رفتن به آخرین خط میانگیر (Go) |
37gg , 37G |
رفتن به خط ۳۷ میانگیر |
} |
رفتن به ابتدای بند |
{ |
رفتن به پایان بند |
' ' |
بازگشت به آخرین مکان پیش از زدن دستور پیشین |
gd |
رفتن به تعریف یک تابع(go to definition) |
ctrl + o |
بازگشت به نقطهٔ پیش |
نشانهگذاری mark
در ویم میتوان از نشانهگذاری قسمتهای مختلف پرونده هم استفاده کرد. به این شکل که مکان نما را به نقطهٔ دلخواه در متن منتقل کنید و با فشردن کلید m نشانهگذاری فعال کنید. پس از آن یکی دیگر از کلید را به عنوان یادآور آن نشانه وارد کنید.
برای نمونه با زدن ma نقطهٔ مورد نظر با حرف a نشانهگذاری میشود.
حالا پس از انتقال مکاننما به نقاط دیگر متن برای بازگشت به نقطهٔ نشان گذاری شده با a کلیدهای a`
را میزنیم.
رفتن به حالتهای دیگر
میانبر | کاربرد |
---|---|
i |
ورود به حالت درج پیش از مکاننما (insert) |
I |
ورود به حالت درج در ابتدای خط فعلی |
a |
ورود به حالت درج پس از مکاننما |
A |
ورود به حالت درج در انتهای خط فعلی |
o |
ایجاد یک خط در پایین خط جاری و ورود به حالت درج در ابتدای خط جدید (open) |
O |
ایجاد یک خط در بالای خط جاری و ورود به حالت درج در ابتدای خط جدید (open) |
v |
ورود به حالت بصری (visual) |
V |
ورود به حالت بصری خطّی |
^v |
ورود به حالت بصری بلوکی |
برش و جایگذاری
میانبر | کاربرد |
---|---|
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 |
جایگذاری از حافظه پیش از مکاننما |
جستوجو و ایجاد تغییر متن
میانبر | کاربرد |
---|---|
* |
جستوجو برای واژهٔ زیر مکان نما به پیش |
# |
جستوجو برای واژهٔ زیر مکان نما به پس |
/ |
جستوجوی سریع متن دلخواه در میانگیر |
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) |
ZZ |
ذخیره و خروج (write quit) |
:qall |
خروج از همهٔ میانگیرها |
:q! |
خروج بدون ذخیره (quit) |
:e! |
بار کردن دوبارهٔ میانگیر |
دیگر ویژگیها
پشتیبانی از موشی
برای پشتیبانی از موشی، از دستور زیر استفاده کنید:
:set mouse=a
پشتیبانی فارسی
برای پشتیبانی از زبانهای دوجهته در ویم، از دستور زیر استفاده کنید:
:set termbidi
اجرای برنامههای پوسته
ویم میتواند برنامههای پوسته را درون خودش و بدون بسته شدن اجرا کند.
:! ls :! /usr/bin/bash
ذخیرهٔ پرونده با sudo
زمانی که یک پرونده با دسترسیهای محدود(برای نمونه
/etc/apt/sources.list.d/system.sources
) را با کاربر معمولی ویرایش کنید امکان ذخیرهٔ آن نیست.
میتوان با اجرای فرمان زیر و با به کارگیری sudo پرونده را ذخیره کرد.
:w !sudo tee %
جابهجایی بین میانگیرها
برای جا بهجایی بین میانگیرها کلیدهای ctrl + w
را میزنیم.
برای تغییر مکان میانگیر نخست با ctrl + w
یک میانگیر را فعال میکنیم و با کلید shift + hjlk
مکان میانگیر را تغییر میدهیم. یا اینکه با تکرار ctrl + w
بین آنها جابه جا میشویم.
در صورت فعال بودن موشی به سادگی با فشردن کلیک میتوان این کار را انجام داد.
شبیهساز پایانه
میتوانید در ویم شبیهساز پایانه را اجرا کند.
:below term
چند کلید میانبر در این حالت
- جابه جایی بین میانگیرها با کلید ترکیبی
ctrl + w
- فعال سازی اسکرول با
ctrl + w
وshift + n
- خروج با فشردن i
تنظیمات ویم
تنظیمات ویم در پروندهٔ
.vimrc
در خانه ذخیره میشود.
با فرمان زیر پرونده را ایجاد یا باز کنید و تنظیمات خود را در آن قرار دهید.
$ vim ~/.vimrc
نمونه
پروندهٔ زیر یک نمونه از vimrc. است.
ویم در مرورگر
با نصب افزونهٔ vim-vixen میانبرهای ویم را در فایرفاکس استفاده کنید.
آموزش
برای آموزش کار با ویم از
vimtutor
که به همراه ویم نصب شده است، استفاده کنید.
$ vimtutor