فرمان های کلی
- :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