ویم: تفاوت بین نسخهها
(←ذخیرهٔ پروندهٔ با sudo) |
|||
(۱۰۲ نسخهٔ میانی ویرایش شده توسط ۹ کاربر نشان داده نشده) | |||
سطر ۱: | سطر ۱: | ||
− | ویم ( به انگلیسی | + | [[پرونده:Vimlogo.svg|128px|thumb|left|نشان ویرایشگر متن ویم]] |
− | + | '''ویم''' (به انگلیسی Vim مخفّف Vi IMproved به معنای [[Vi|وی آی]] بهبود یافته)، یک [[Text Editor|ویرایشگر متن]] [[Free Software|آزاد]]، سبک، برای برنامهنویسها، و سازگار با [[ویآی]] است. | |
− | |||
− | |||
− | = نصب | + | __TOC__ |
+ | {{الگو:clear}} | ||
+ | == ویژگیها == | ||
+ | * سبک | ||
+ | * سریع | ||
+ | * در دسترس (روی بیشتر [[Distro|توزیعها]] به صورت پیشفرض نصب است) | ||
− | برای نصب این [[Software|نرم افزار]] | + | == نصب == |
+ | برای نصب این [[Software|نرم افزار]]، از فرمان زیر استفاده کنید: | ||
+ | {{bc|$ sudo apt install vim}} | ||
− | + | برای نصب محیط گرافیکی ویم، بدین صورت عمل کنید: | |
− | + | {{bc|$ sudo apt install gvim}} | |
− | |||
− | + | == کاربرد == | |
− | < | + | === گشودن پرونده و شاخه === |
− | + | {| class="wikitable sortable" | |
− | </ | + | ! class="unsortable"| میانبر |
+ | ! class="unsortable"| کاربرد | ||
+ | |- | ||
+ | | <code dir="ltr">vim FILE</code> || گشودن پرونده یا ساخت پروندهٔ تازه | ||
+ | |- | ||
+ | | <code dir="ltr">vim DIR</code> || گشودن شاخهٔ مورد نظر | ||
+ | |- | ||
+ | |} | ||
− | + | برای نمونه فرمان زیر شاخهٔ جاری را با مدیر پروندهٔ ویم میگشاید. | |
+ | {{bc|$ vim . }} | ||
− | + | ---- | |
− | برای | + | ویم دارای سه حالت '''دستور'''، '''درج''' و '''بصری''' است. در هرکجا برای وارد شدن به حالت دستور، کافی است [[Esc Key|دکمهٔ فرار]] یا کلید ترکیبی <code> ] + Ctrl </code> را بزنید. |
+ | پس از اجرا ویم در حالت دستور قرار میگیرد. | ||
− | < | + | === حرکت مکاننما در حالت دستور === |
− | $ | + | {| class="wikitable sortable" |
− | </ | + | ! class="unsortable"| میانبر |
+ | ! class="unsortable"| کاربرد | ||
+ | |- | ||
+ | | <code>h</code> || رفتن به چپ | ||
+ | |- | ||
+ | | <code>j</code> || رفتن به خط بعدی (jump) | ||
+ | |- | ||
+ | | <code>7j</code> || ۷ خط به پایین رفتن | ||
+ | |- | ||
+ | | <code>k</code> || رفتن به خط پیشین | ||
+ | |- | ||
+ | | <code>l</code> || رفتن به راست | ||
+ | |- | ||
+ | | | ||
+ | |- | ||
+ | | <code>w</code> || رفتن به واژهٔ پسین (word) | ||
+ | |- | ||
+ | | <code>W</code> || رفتن به واژهٔ کامل پسین (Word) | ||
+ | |- | ||
+ | | <code>b</code> || رفتن به واژهٔ پیشین (back) | ||
+ | |- | ||
+ | | <code>B</code> || رفتن به واژهٔ کامل پیشین (Back) | ||
+ | |- | ||
+ | | <code>e</code> || رفتن به انتهای واژه (end) | ||
+ | |- | ||
+ | | <code>E</code> || رفتن به انتهای واژهٔ کامل (End) | ||
+ | |- | ||
+ | | | ||
+ | |- | ||
+ | | <code>0</code> || رفتن به شروع خط | ||
+ | |- | ||
+ | | <code>^</code> || رفتن به نخستین نویسهٔ خط | ||
+ | |- | ||
+ | | <code>$</code> || رفتن به انتهای خط | ||
+ | |- | ||
+ | | <code>gg</code> || رفتن به نخستین خط میانگیر (go) | ||
+ | |- | ||
+ | | <code>G</code> || رفتن به آخرین خط میانگیر (Go) | ||
+ | |- | ||
+ | | <code>37gg</code>, <code>37G</code> || رفتن به خط ۳۷ میانگیر | ||
+ | |- | ||
+ | | <code>}</code> || رفتن به ابتدای بند | ||
+ | |- | ||
+ | | <code>{</code> || رفتن به پایان بند | ||
+ | |- | ||
+ | | <code>'</code><code>'</code> || بازگشت به آخرین مکان پیش از زدن دستور پیشین | ||
+ | |- | ||
+ | | <code>gd</code> || رفتن به تعریف یک تابع(go to definition) | ||
+ | |- | ||
+ | | <code>ctrl + o</code> || بازگشت به نقطهٔ پیش | ||
+ | |} | ||
+ | === نشانهگذاری mark === | ||
+ | در ویم میتوان از نشانهگذاری قسمتهای مختلف پرونده هم استفاده کرد. به این شکل که مکان نما را به نقطهٔ دلخواه در متن منتقل کنید و با فشردن کلید m نشانهگذاری فعال کنید. پس از آن یکی دیگر از کلید را به عنوان یادآور آن نشانه وارد کنید. | ||
+ | برای نمونه با زدن ma نقطهٔ مورد نظر با حرف a نشانهگذاری میشود. | ||
+ | حالا پس از انتقال مکاننما به نقاط دیگر متن برای بازگشت به نقطهٔ نشان گذاری شده با a کلیدهای <code>a`</code> را میزنیم. | ||
− | + | === رفتن به حالتهای دیگر === | |
+ | {| class="wikitable sortable" | ||
+ | ! class="unsortable"| میانبر | ||
+ | ! class="unsortable"| کاربرد | ||
+ | |- | ||
+ | | <code>i</code> || ورود به حالت درج پیش از مکاننما (insert) | ||
+ | |- | ||
+ | | <code>I</code> || ورود به حالت درج در ابتدای خط فعلی | ||
+ | |- | ||
+ | | <code>a</code> || ورود به حالت درج پس از مکاننما | ||
+ | |- | ||
+ | | <code>A</code> || ورود به حالت درج در انتهای خط فعلی | ||
+ | |- | ||
+ | | <code>o</code> || ایجاد یک خط در پایین خط جاری و ورود به حالت درج در ابتدای خط جدید (open) | ||
+ | |- | ||
+ | | <code>O</code> || ایجاد یک خط در بالای خط جاری و ورود به حالت درج در ابتدای خط جدید (open) | ||
+ | |- | ||
+ | | <code>v</code> || ورود به حالت بصری (visual) | ||
+ | |- | ||
+ | | <code>V</code> || ورود به حالت بصری خطّی | ||
+ | |- | ||
+ | | <code dir="ltr">^v</code> || ورود به حالت بصری بلوکی | ||
+ | |- | ||
+ | |} | ||
− | + | ---- | |
− | : | + | === برش و جایگذاری === |
− | : | + | {| class="wikitable sortable" |
− | :wq = ذخیره و خروج از | + | ! class="unsortable"| میانبر |
− | :e! = | + | ! class="unsortable"| کاربرد |
− | + | |- | |
− | + | | <code>y</code> || فرستادن متن انتخابی به حافظه (yank) | |
− | + | |- | |
− | + | | <code>yw</code> || فرستادن واژهٔ جاری به حافظه (yank word) | |
− | + | |- | |
− | + | | <code>y3w</code> || فرستادن ۳ واژه از واژهٔ جاری به حافظه (yank 3 words) | |
− | + | |- | |
− | + | | <code>y10w</code> || فرستادن ۱۰ واژه از واژهٔ جاری به حافظه (yank 10 words) | |
− | + | |- | |
+ | | <code>yW</code> || فرستادن واژهٔ کامل جاری به حافظه (yank Word) | ||
+ | |- | ||
+ | | <code>y3W</code> || فرستادن ۳ واژهٔ کامل از واژهٔ کامل جاری به حافظه (yank 3 Words) | ||
+ | |- | ||
+ | | <code>yy</code> || فرستادن خط جاری به حافظه | ||
+ | |- | ||
+ | | <code>y3y</code> || فرستادن ۳ خط از خط جاری مکاننما به حافظه | ||
+ | |- | ||
+ | | | ||
+ | |- | ||
+ | | <code>x</code> || حذف نویسهٔ زیر مکاننما و فرستادن به حافظه | ||
+ | |- | ||
+ | | <code>dw</code> || حذف یک واژه و فرستادن به حافظه (delete word) | ||
+ | |- | ||
+ | | <code>d3w</code> || حذف ۳ واژه و فرستادن به حافظه (delete 3 words) | ||
+ | |- | ||
+ | | <code>d10w</code> || حذف ۱۰ واژه و فرستادن به حافظه (delete 10 words) | ||
+ | |- | ||
+ | | <code>dW</code> || حذف یک واژهٔ کامل و فرستادن به حافظه (delete Word) | ||
+ | |- | ||
+ | | <code>d3W</code> || حذف ۳ واژهٔ کامل و فرستادن به حافظه (delete 3 Words) | ||
+ | |- | ||
+ | | <code>dd</code> || حذف یک خط و فرستادن به حافظه | ||
+ | |- | ||
+ | | <code>d3d</code> || حذف ۳ خط و فرستادن به حافظه | ||
+ | |- | ||
+ | | | ||
+ | |- | ||
+ | | <code>d0</code> || حذف تا ابتدای خط و فرستادن به حافظه | ||
+ | |- | ||
+ | | <code>^d</code> || حذف تا نخستین نویسهٔ خط و فرستادن به حافظه | ||
+ | |- | ||
+ | | <code>$d</code> || حذف تا انتخای خط و فرستادن به حافظه | ||
+ | |- | ||
+ | | <code>dG</code> || حذف تا آخرین خط پرونده و فرستادن به حافظه | ||
+ | |- | ||
+ | | <code>d20G</code> || حدف تا خط شمارهٔ ۲۰ و فرستادن به حافظه | ||
+ | |- | ||
+ | | | ||
+ | |- | ||
+ | | <code>p</code> || جایگذاری از حافظه پس از مکاننما | ||
+ | |- | ||
+ | | <code>P</code> || جایگذاری از حافظه پیش از مکاننما | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ---- | ||
+ | |||
+ | === جستوجو و ایجاد تغییر متن=== | ||
+ | {| class="wikitable sortable" | ||
+ | ! class="unsortable"| میانبر | ||
+ | ! class="unsortable"| کاربرد | ||
+ | |- | ||
+ | | <code>*</code> || جستوجو برای واژهٔ زیر مکان نما به پیش | ||
+ | |- | ||
+ | | <code>#</code> || جستوجو برای واژهٔ زیر مکان نما به پس | ||
+ | |- | ||
+ | | <code>/</code> || جستوجوی سریع متن دلخواه در میانگیر | ||
+ | |- | ||
+ | | <code>n</code> || رفتن به یافتهٔ پسین (next) | ||
+ | |- | ||
+ | | <code>N</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> || جایگزینی واژه در تمام میانگیر، با تأیید | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ---- | ||
+ | |||
+ | === ویرایش === | ||
+ | {| class="wikitable sortable" | ||
+ | ! class="unsortable"| میانبر | ||
+ | ! class="unsortable"| کاربرد | ||
+ | |- | ||
+ | | <code>u</code> || برگردان (undo) | ||
+ | |- | ||
+ | | <code dir="ltr">^r</code> || از نو (redo) | ||
+ | |- | ||
+ | | <code>r</code> || جایگزینی تکنویسهٔ زیر مکاننما (replace) | ||
+ | |- | ||
+ | | <code>J</code> || آوردن خطّ زیرین به انتهای خطّ جاری (Join) | ||
+ | |- | ||
+ | | <code>cw</code> || تعویض واژهٔ جاری (change word) | ||
+ | |- | ||
+ | | <code>c3w</code> || تعویض ۳ واژه از واژهٔ جاری (change 3 words) | ||
+ | |- | ||
+ | | <code>cW</code> || تعویض واژهٔ جاری (change Word) | ||
+ | |- | ||
+ | | <code>cc</code> || تعویض خط جاری | ||
+ | |- | ||
+ | | <code>c0</code> || تعویض تا ابتدای خط جاری | ||
+ | |- | ||
+ | | <code>c20G</code> || تعویض تا خط شمارهٔ ۲۰ | ||
+ | |- | ||
+ | | <code>.</code> || تکرار دستور پیشین | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ---- | ||
+ | |||
+ | === ذخیره و خروج === | ||
+ | {| class="wikitable sortable" | ||
+ | ! class="unsortable"| میانبر | ||
+ | ! class="unsortable"| کاربرد | ||
+ | |- | ||
+ | | <code dir="ltr">:w</code> || نوشتن در پرونده (write) | ||
+ | |- | ||
+ | | <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">:e!</code> || بار کردن دوبارهٔ میانگیر | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | == دیگر ویژگیها == | ||
+ | |||
+ | === پشتیبانی از موشی === | ||
+ | برای پشتیبانی از [[Mouse|موشی]]، از دستور زیر استفاده کنید: | ||
+ | |||
+ | {{bc| | ||
+ | :set mouse{{=}}a | ||
+ | }} | ||
+ | |||
+ | === پشتیبانی فارسی === | ||
+ | برای پشتیبانی از زبانهای دوجهته در ویم، از دستور زیر استفاده کنید: | ||
+ | {{bc|:set termbidi}} | ||
+ | |||
+ | === اجرای برنامههای پوسته === | ||
+ | ویم میتواند برنامههای [[پوسته]] را درون خودش و بدون بسته شدن اجرا کند. | ||
+ | |||
+ | {{bc| | ||
+ | :! ls | ||
+ | :! /usr/bin/bash | ||
+ | }} | ||
+ | |||
+ | === ذخیرهٔ پرونده با sudo === | ||
+ | زمانی که یک پرونده با دسترسیهای محدود(برای نمونه {{ic| /etc/apt/sources.list.d/system.sources}}) را با کاربر معمولی ویرایش کنید امکان ذخیرهٔ آن نیست. | ||
+ | |||
+ | میتوان با اجرای فرمان زیر و با به کارگیری sudo پرونده را ذخیره کرد. | ||
+ | |||
+ | {{bc| | ||
+ | :w !sudo tee % | ||
+ | }} | ||
+ | |||
+ | === جابهجایی بین میانگیرها=== | ||
+ | برای جا بهجایی بین میانگیرها کلیدهای <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 | ||
+ | |||
+ | == تنظیمات ویم == | ||
+ | تنظیمات ویم در پروندهٔ {{ic|.vimrc}} در خانه ذخیره میشود. | ||
+ | |||
+ | با فرمان زیر پرونده را ایجاد یا باز کنید و تنظیمات خود را در آن قرار دهید. | ||
+ | {{bc|$ vim ~/.vimrc}} | ||
+ | |||
+ | {{نکته| در فایل vimrc. نباید : را در شروع تنظیم قرار داد. }} | ||
+ | |||
+ | |||
+ | === نمونه === | ||
+ | پروندهٔ زیر یک نمونه از vimrc. است. | ||
+ | |||
+ | == ویم در مرورگر == | ||
+ | |||
+ | |||
+ | با نصب افزونهٔ '''vim-vixen''' میانبرهای ویم را در فایرفاکس استفاده کنید. | ||
+ | |||
+ | [https://addons.mozilla.org/en-US/firefox/addon/vim-vixen پیوند به افزونهٔ vim-vixen ] | ||
+ | |||
+ | == آموزش == | ||
+ | برای آموزش کار با ویم از {{ic|vimtutor}} که به همراه ویم نصب شده است، استفاده کنید. | ||
+ | {{bc|$ vimtutor}} | ||
+ | |||
+ | |||
+ | == پیوند به بیرون == | ||
+ | [https://vim.rtorr.com خلاصه دستورهای ویم ] | ||
+ | |||
+ | [https://amirsamimi.ir/vim ویدیوهای آموزش فارسی ویم] | ||
+ | |||
+ | [https://jadi.net/2020/05/vim-prat-3 ادیتور ویم برای برنامه نویسی] | ||
+ | |||
+ | [https://vim-bootstrap.com تولید vimrc] | ||
+ | |||
+ | [https://vimawesome.com فهرستی جالب از افزونههای ویم] | ||
+ | |||
+ | [[رده:ویرایشگر متن]] |
نسخهٔ ۴ تیر ۱۴۰۳، ساعت ۱۳:۳۲
ویم (به انگلیسی 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
مکان میانگیر را تغییر میدهیم.
شبیهساز پایانه
میتوانید در ویم شبیهساز پایانه را اجرا کند.
:below term
چند کلید میانبر در این حالت
- جابه جایی بین میانگیرها با کلید ترکیبی
ctrl + w
- فعال سازی اسکرول با
ctrl + w
وshift + n
- خروج با فشردن i
تنظیمات ویم
تنظیمات ویم در پروندهٔ
.vimrc
در خانه ذخیره میشود.
با فرمان زیر پرونده را ایجاد یا باز کنید و تنظیمات خود را در آن قرار دهید.
$ vim ~/.vimrc
نمونه
پروندهٔ زیر یک نمونه از vimrc. است.
ویم در مرورگر
با نصب افزونهٔ vim-vixen میانبرهای ویم را در فایرفاکس استفاده کنید.
آموزش
برای آموزش کار با ویم از
vimtutor
که به همراه ویم نصب شده است، استفاده کنید.
$ vimtutor