فرمان های کلی
- :h[elp] کلید واژه - کمک در مورد کلمه کلیدی
- :sav[eas] فایل - ذخیره کردن با عنوان
- :clo[se] - بستن پنل فعلی
- :ter[minal] - یک پنجره ترمینال را باز کن
- K - برای کلمه زیر مکاننما، یک صفحه راهنما باز کن
حرکت مکان نما
- h - حرکت مکان نما به سمت چپ
- j - حرکت مکان نما به سمت پایین
- k - حرکت مکان نما به سمت بالا
- l - حرکت مکان نما به سمت پایین
- gj - move cursor down (multi-line text)
- gk - move cursor up (multi-line text)
- H - برو به ابتدای نمایشگر
- M - برو به وسط نمایشگر
- L - برو به آخر نمایشگر
- w - برو به ابتدای کلمه
- W - برو به ابتدای کلمه(کلمه هایی که شامل نقطه و علامت)
- e - برو به آخر کلمه
- E - برو به آخر کلمه (کلمه هایی که شامل نقطه و علامت)
- b - برو به ابتدای کلمه
- B - برو به ابتدای کلمه(کلمه هایی که شامل نقطه و علامت)
- ge - پرش رو به عقب تا انتهای کلمه
- gE - پرش رو به عقب تا انتهای کلمه (کلمات میتوانند شامل نقطهگذاریها باشند)
- % - برو به براکت بسته(براکت ها می توانند '()','{}','[]' باشند)
- 0 - برو به ابتدای خط
- ^ - برو به اولین کاراکتر با صرف نظر از فضای خالی
- $ - برو به انتهای خط
- g_ - برو به آخرین کاراکتر غیر بلاک
- gg - برو به اولین خط این فایل
- G - برو به آخرین خط این فایل
- 5gg or 5G - برو به خط شماره 5
- gd - حرکت روی تعریف (اعلام) محلی
- gD - حرکت روی تعریف (اعلام) سرتاسری
- fx - برو به کاراکتر x
- tx - برو به یک کاراکتر قبل از x
- Fx - برو به کاراکتر x قبل از محل فعلی مکان نما
- Tx - برو به یک کاراکتر بعد از کاراکتر x قبل از محل فعلی مکان نما
- ; - تکرار عملیات قبلی اگر این عملیات F,f,T,t باشد
- , - مثل سمی کالمن اما برعکس
- } - برو به پاراگراف بعدی( یا تابع بعدی/ یابلاک بعدی)
- { - برو به پاراگراف قبلی( یا تابع قبلی/ یا بلاک قبلی)
- zz - قرار دادن خط فعلی در مرکز صفحه نمایش
- zt - position cursor on top of the screen
- zb - position cursor on bottom of the screen
- Ctrl + e - یک خط به پایین
- Ctrl + y - یک خط به بالا
- Ctrl + b - صفحه قبل
- Ctrl + f - صفحه بعد
- Ctrl + d - یک نیم صفحه بعد
- Ctrl + u - یک نیم صفحه قبل
افزودن و اضافه کردن
- i - اضافه کن به قبل از مکان فعلی مکان نما
- I - اضافه کن به ابتدای خط
- a - اضافه کن بعد از مکان فعلی مکان نما
- A - اضافه کن به انتهای خط
- o - اضافه کن به خط بعدی
- O - اضافه کن به خط قبلی
- ea - اضافه کن به انتهای کلمه
- Ctrl + h - حذف کاراکتر قبل مکاننما، در مُد درج
- Ctrl + w - حذف کلمه قبل مکاننما، در مُد درج
- Ctrl + j - ایجاد خط جدید، در مُد درج
- Ctrl + t - indent (move right) line one shiftwidth during insert mode
- Ctrl + d - de-indent (move left) line one shiftwidth during insert mode
- Ctrl + n - insert (auto-complete) next match before the cursor during insert mode
- Ctrl + p - insert (auto-complete) previous match before the cursor during insert mode
- Ctrl + rx - insert the contents of register x
- Ctrl + ox - Temporarily enter normal mode to issue one normal-mode command x.
- Esc or Ctrl + c - از مُد درج خارج شو
تصحیح
- r - یک کاراکتر را جایگزین کن
- R - replace more than one character, until ESC is pressed.
- J - خط بعدی را به خط فعلی بچسبان با فاصله
- gJ - خط بعدی را بدون فاصله به خط فعلی بچسبان
- gwip - جمع کردن پاراگراف
- g~ - switch case up to motion
- gu - change to lowercase up to motion
- gU - change to uppercase up to motion
- cc - خط فعلی را جایگزین کن
- c$ or C - از مکان فعلی تا آخر خط را جایگزین کن
- ciw - خط فعلی را جایگزین کن
- cw or ce - کلمه فعلی را جایگزین کن
- s - کاراکتر فعلی را جایگزین کن
- S - خط فعلی را جایگزین کن(مثل cc)
- xp - ترانهادن دو کاراکتر(پاک کردن و چسباندن)
- u - بازگرداندن
- U - بازگرداندن تغییرات آخرین خط تغییرکرده
- Ctrl + r - دوباره انجام بده
- . - فرمان قبلی را تکرار کن
علامت گذاری(مد بصری)
- v - ورود به مد بصری
- V - ورود به مد بصری برای کار روی خط
- o - برو به طرف دیگر ناحیه علامت گذاری شده
- Ctrl + v - ورود به مد بصری برای علامت گذاری یک بلاک
- O - برو به گوشه دیگر بلاک انتخاب شده
- aw - یک کلمه را علامت گذاری کن
- ab - یک بلاکت با ()
- aB - یک بلاک با {}
- at - a block with <> tags
- ib - بلاک داخل ()
- iB - بلاک داخل {}
- it - inner block with <> tags
- Esc or Ctrl + c - از مد بصری خارج شو
دستورات مد بصری
- > - حرکت متن به سمت راست
- < - حرکت متن به سمت چپ
- y - کپی کردن متن
- d - حذف متن
- ~ - تغییر از حرف کوچک به بزرگ یا برعکس
- u - تغییر متن مشخصشده به حروف کوچک
- U - تغییر متن مشخصشده به حروف بزرگ
رجیسترها
- :reg[isters] - محتوای رجیستر را نمایش بده
- "xy - محتوای رجیستر x را پیست کن
- "xp - کپی کردن به رجیستر x
- "+y - کپیکردن (یانک) در رجیستر کلیپبورد سیستم
- "+p - چسباندن به وسیلیه رجیستر کلیپبورد سیستم
0 - آخرین یانک (کپی)
" - unnamed register, last delete or yank
% - نام فایل جاری
# - alternate file name
* - clipboard contents (X11 primary)
+ - clipboard contents (X11 clipboard)
/ - آخرین پترن سرچ
: - آخرین خط دستور
. - آخرین متن درجشده
- - آخرین حذف کوچیک (کمتر از یک خط)
= - expression register
_ - black hole register
علامت ها
- :marks - لیست علامت ها
- ma - مکان فعلی را به عنوان علامت a نشان کن
- `a - برو به مکانی که به عنوان a نشان شده است
- y`a - متن را به مکانی که به عنوان a نشان شده کپی کن
- `0 - برو به مکانی که قبلا ویم از در آنجا خارج شده است.
- `" - go to the position when last editing this file
- `. - برو به مکانی که آخرین تغییر در این فایل انجام شده است.
- `` - برو به مکانی که قبل از آخرین پرش بودی
- :ju[mps] - لیست پرشها
- Ctrl + i - برو به مکان جدیدتر در لیست پرش
- Ctrl + o - برو به مکان قدیمیتر در لیست پرش
- :changes - لیست تغییرات
- g, - برو به مکان جدیدتر در لیست تغییر
- g; - برو به مکان قدیمیتر در لیست تغییر
- Ctrl + ] - پرش به برچسب زیر مکاننما
ماکروها
- qa - ضبط ماکرو 'a'
- q - توقف ضبط ماکرو
- @a - اجرای ماکروی 'a'
- @@ - اجرای دوباره آخرین ماکروی اجرا شده
کپی کردن و چسباندن
- yy - کپی کردن هط
- 2yy - کپی کردن 2 خط
- yw - کپی کردن از مکان فعلی مکان نما تا ابتدای کلمه بعد
- yiw - کپی کردن کلمه
- yaw -
- y$ or Y - کپی کردن تا آخری خط
- p - چسباندن محتوای کلیپ بورد بعد از مکان فعلی مکان نما
- P - چسباندن محتوای کلیپ بورد قبل از مکان فعلی مکان نما
- gp - put (paste) the clipboard after cursor and leave cursor after the new text
- gP - put (paste) before cursor and leave cursor after the new text
- dd - کات کردن خط فعلی
- 2dd - کات کردن دو خط
- dw - کات کردن از مکان فعلی مکان نما تا ابتدای کلمه بعدی
- diw -
- daw -
- :3,5d - delete lines starting from 3 to 5
e.g.
:.,$d - From the current line to the end of the file
:.,1d - From the current line to the beginning of the file
:10,1d - From the 10th line to the beginning of the file
- :g/{pattern}/d - delete all lines containing pattern
- :g!/{pattern}/d - delete all lines not containing pattern
- d$ or D - کات کردن تا انتهای خط
- x - کات کردن یک کاراکتر
تو رفتنگی متن
- >> - indent (move right) line one shiftwidth
- << - de-indent (move left) line one shiftwidth
- >% - indent a block with () or {} (cursor on brace)
- <% - de-indent a block with () or {} (cursor on brace)
- >ib - indent inner block with ()
- >at - indent a block with <> tags
- 3== - تنظیم مجدد تو رفتگی ۳ خط
- =% - re-indent a block with () or {} (cursor on brace)
- =iB - re-indent inner block with {}
- gg=G - تنظیم مجدد تورفتنگی کل بافر
- ]p - چسباندن و تنظیم تو رفتگی برای خط کنونی
خارج شدن
- :w - ذخیره کن اما خارج نشو
- :w !sudo tee % - فایل فعلی را با sudo ذخیره کن
- :wq or :x or ZZ - ذخیره کن و خارج شو
- :q - خارج شو(اگر فایلهای ذخیره نشده باشد) خطا میدهد
- :q! or ZQ - خارج شو و از فایلهای ذخیره نشده صرف نظر کن
- :wqa - همه ها فایلها در همه ی تبها را ذخیره کن و خارج شو
جستجو و جایگذاری
- /pattern - جستجوی الگو
- ?pattern - جستجوی الگو از مکان فعلی مکان نما به قبل
- \vpattern - الگوی 'very magic': حروف و اعداد غیر به عنوان regex شناخته می شوند
- n - تکرار جستجو در جهت یکسان
- N - تکرار جستجو در جهت مخالف
- :%s/old/new/g - جایگذاری الگوی قدیمی با الگوی جدید
- :%s/old/new/gc - جایگذاری الگوی قدیمی با الگوی جدید در تمامی فایل به همراه تایید
- :noh[lsearch] - برداشتن هایلایت از نتایج جستجو
جستجو در چند فایل
- :vim[grep] /pattern/ {`{file}`} - جستجوی الگو در چند فایل
- :cn[ext] - برو به نتیجه بعدی
- :cp[revious] - برو به نتیجه قبلی
- :cope[n] - باز کردن یک پنجره که شامل لیست نتایج جستجو باشد
- :ccl[ose] - بستن پنجره تعمیر سریع
تب ها
- :tabnew or :tabnew {page.words.file} - باز کردن فایل در تب جدید
- Ctrl + wT - انتقال بافر فعلی به تب جدید
- gt or :tabn[ext] - برو به تب بعدی
- gT or :tabp[revious] - برو به تب قبلی
- #gt - برو به تب شماره #
- :tabm[ove] # - انتقال تب فعلی به موقعیت #
- :tabc[lose] - بستن تب فعلی و تمام پنجره های آن
- :tabo[nly] - بستن تمامی تبها غیر از تب فعلی
- :tabdo command - اجرای دستور روی تمامی تبها
کار کردن با چند فایل
- :e[dit] فایل - کار کردن با یک فایل در بافر جدید
- :bn[ext] - برو به بافر بعدی
- :bp[revious] - برو به بافر قبلی
- :bd[elete] - بستن بافر(بسته شدن فایل)
- :b[uffer]# - با استفاده از هشتگ (#) به بافر برو
- :b[uffer] file - با استفاده از فایل به بافر برو
- :ls or :buffers - لیست تمامی بافرهای باز
- :sp[lit] فایل - باز کردن فایل در پنجره جدید و به دو قسمت کردن پنجره
- :vs[plit] فایل - باز کردن فایل در پنجره جدید و به دو قسمت کردن پنجره به صورت عمودی
- :vert[ical] ba[ll] - پیرایش تمامی بافرها با استفاده از پنجرههای عمودی
- :tab ba[ll] - ویرایش تمامی بافرها با استفاده از تبها
- Ctrl + ws - به دو قسمت کردن پنجره
- Ctrl + wv - به دو قسمت کردن به صورت عمودی
- Ctrl + ww - سوئیچ کردن مابین پنجره ها
- Ctrl + wq - خارج شدن از پنجره
- Ctrl + wx - تعویض پنجره فعلی با بعدی
- Ctrl + w= - مساویکردن طول و عرض تمامی پنجرهها
- Ctrl + wh - انتقال مکان نما به پنجره سمت چپ
- Ctrl + wl - انتقال مکان نما به پنجره سمت راست
- Ctrl + wj - انتقال مکان نما به پنجره پایین
- Ctrl + wk - انتقال مکان نمابه پنجره بالا
- Ctrl + wH - make current window full height at far left (leftmost vertical window)
- Ctrl + wL - make current window full height at far right (rightmost vertical window)
- Ctrl + wJ - make current window full width at the very bottom (bottommost horizontal window)
- Ctrl + wK - make current window full width at the very top (topmost horizontal window)
مقایسه کردن
- zf - تا آخرین خط انتخابی یک پنهان گر کد بساز
- zd - پنهان گر کد زیر مکان نما را حذف من
- za - پنهانگر کد زیر مکان نما را باز و بسته کن
- zo - پنهانگر کد زیر مکان نما را باز کن
- zc - پنهانگر کد زیر مکان نما را ببند
- zr - همه پنهانگر های کد را یک مرتبه باز کن
- zm - همه پنهانگر های کد را یک مرتبه باز ببند
- zi - toggle folding functionality
- ]c - jump to start of next change
- [c - jump to start of previous change
- do or :diffg[et] - obtain (get) difference (from other buffer)
- dp or :diffpu[t] - put difference (to other buffer)
- :diffthis - make current window part of diff
- :dif[fupdate] - update differences
- :diffo[ff] - switch off diff mode for current window