فرمان های کلی

  • :help کلید واژه - کمک در مورد keyword
  • :saveas فایل - ذخیره کردن با عنوان
  • :close - بستن پنل فعلی
  • K - open man page for word under the cursor

حرکت مکان نما

  • h - حرکت مکان نما به سمت چپ
  • j - حرکت مکان نما به سمت پایین
  • k - حرکت مکان نما به سمت بالا
  • l - حرکت مکان نما به سمت پایین
  • H - برو به ابتدای نمایشگر
  • M - برو به وسط نمایشگر
  • L - برو به آخر نمایشگر
  • w - برو به ابتدای کلمه
  • W - برو به ابتدای کلمه(کلمه هایی که شامل نقطه و علامت)
  • e - برو به آخر کلمه
  • E - برو به آخر کلمه (کلمه هایی که شامل نقطه و علامت)
  • b - برو به ابتدای کلمه
  • B - برو به ابتدای کلمه(کلمه هایی که شامل نقطه و علامت)
  • % - برو به براکت بسته(براکت ها می توانند '()','{}','[]' باشند)
  • 0 - برو به ابتدای خط
  • ^ - برو به اولین کاراکتر با صرف نظر از فضای خالی
  • $ - برو به انتهای خط
  • g_ - برو به آخرین کاراکتر غیر بلاک
  • gg - برو به اولین خط این فایل
  • G - برو به آخرین خط این فایل
  • 5G - برو به خط شماره 5
  • fx - برو به کاراکتر x
  • tx - برو به یک کاراکتر قبل از x
  • Fx - برو به کاراکتر x قبل از محل فعلی مکان نما
  • Tx - برو به یک کاراکتر بعد از کاراکتر x قبل از محل فعلی مکان نما
  • ; - تکرار عملیات قبلی اگر این عملیات F,f,T,t باشد
  • , - مثل سمی کالمن اما برعکس
  • } - برو به پاراگراف بعدی( یا تابع بعدی/ یابلاک بعدی)
  • { - برو به پاراگراف قبلی( یا تابع قبلی/ یا بلاک قبلی)
  • zz - قرار دادن خط فعلی در مرکز صفحه نمایش
  • Ctrl + e - یک خط به پایین
  • Ctrl + y - یک خط به بالا
  • Ctrl + b - صفحه قبل
  • Ctrl + f - صفحه بعد
  • Ctrl + d - یک نیم صفحه بعد
  • Ctrl + u - یک نیم صفحه قبل
Tip برای تکرار دستورهای حرکتی از پیشوند استفاده کنید. برای مثال 4j به 4 خط پایین تر می رود.

افزودن و اضافه کردن

  • i - اضافه کن به قبل از مکان فعلی مکان نما
  • I - اضافه کن به ابتدای خط
  • a - اضافه کن بعد از مکان فعلی مکان نما
  • A - اضافه کن به انتهای خط
  • o - اضافه کن به خط بعدی
  • O - اضافه کن به خط قبلی
  • ea - اضافه کن به انتهای کلمه
  • Esc - از مد اضافه خارج شو

تصحیح

  • r - یک کاراکتر را جایگزین کن
  • J - خط بعدی را به خط فعلی بچسبان با فاصله
  • gJ - خط بعدی را بدون فاصله به خط فعلی بچسبان
  • gwip - جمع کردن پاراگراف
  • cc - خط فعلی را جایگزین کن
  • C - change (replace) to the end of the line
  • c$ - از مکان فعلی تا آخر خط را جایگزین کن
  • ciw - خط فعلی را جایگزین کن
  • cw - کلمه فعلی را جایگزین کن
  • s - کاراکتر فعلی را جایگزین کن
  • S - خط فعلی را جایگزین کن(مثل cc)
  • xp - ترانهادن دو کاراکتر(پاک کردن و چسباندن)
  • u - بازگرداندن
  • Ctrl + r - دوباره انجام بده
  • . - فرمان قبلی را تکرار کن

علامت گذاری(مد بصری)

  • v - ورود به مد بصری
  • V - ورود به مد بصری برای کار روی خط
  • o - برو به طرف دیگر ناحیه علامت گذاری شده
  • Ctrl + v - ورود به مد بصری برای علامت گذاری یک بلاک
  • O - برو به گوشه دیگر بلاک انتخاب شده
  • aw - یک کلمه را علامت گذاری کن
  • ab - یک بلاکت با ()
  • aB - یک بلاک با {}
  • ib - بلاک داخل ()
  • iB - بلاک داخل {}
  • Esc - از مد بصری خارج شو

دستورات مد بصری

  • > - حرکت متن به سمت راست
  • < - حرکت متن به سمت چپ
  • y - کپی کردن متن
  • d - حذف متن
  • ~ - تغییر از حرف کوچک به بزرگ یا برعکس

رجیسترها

  • :reg - محتوای رجیستر را نمایش بده
  • "xy - محتوای رجیستر x را پیست کن
  • "xp - کپی کردن به رجیستر x
Tip محتوای رجیستر ها در فایل ~/.viminfo ذخیره می شوند و بعد از ریستارت برنامه به آنها دسترسی دارید.
Tip رجیستر شماره 0 همیشه مقدار آخرین کپی را شامل می باشد

علامت ها

  • :marks - لیست علامت ها
  • ma - مکان فعلی را به عنوان علامت a نشان کن
  • `a - برو به مکانی که به عنوان a نشان شده است
  • y`a - متن را به مکانی که به عنوان a نشان شده کپی کن

ماکروها

  • qa - ضبط ماکرو 'a'
  • q - توقف ضبط ماکرو
  • @a - اجرای ماکروی 'a'
  • @@ - اجرای دوباره آخرین ماکروی اجرا شده

کپی کردن و چسباندن

  • yy - کپی کردن هط
  • 2yy - کپی کردن 2 خط
  • yw - کپی کردن از مکان فعلی مکان نما تا ابتدای کلمه بعد
  • y$ - کپی کردن تا آخری خط
  • p - چسباندن محتوای کلیپ بورد بعد از مکان فعلی مکان نما
  • P - چسباندن محتوای کلیپ بورد قبل از مکان فعلی مکان نما
  • dd - کات کردن خط فعلی
  • 2dd - کات کردن دو خط
  • dw - کات کردن از مکان فعلی مکان نما تا ابتدای کلمه بعدی
  • D - کات کردن تا انتهای خط
  • d$ - کات کردن تا انتهای خط
  • x - کات کردن یک کاراکتر

خارج شدن

  • :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 - searchAndReplace.commands .colonPercentForwardSlashOldForwardSlashNewForwardSlashg
  • :%s/old/new/gc - searchAndReplace.commands .colonPercentForwardSlashOldForwardSlashNewForwardSlashgc
  • :noh - برداشتن هایلایت از نتایج جستجو

جستجو در چند فایل

  • :vimgrep /pattern/ {`{file}`} - جستجوی الگو در چند فایل
e.g. :vimgrep /foo/ **/*
  • :cn - برو به نتیجه بعدی
  • :cp - برو به نتیجه قبلی
  • :copen - باز کردن یک پنجره که شامل لیست نتایج جستجو باشد

کار کردن با چند فایل

  • :e فایل - کار کردن با یک فایل در بافر جدید
  • :bnext or :bn - برو به بافر بعدی
  • :bprev or :bp - برو به بافر قبلی
  • :bd - بستن بافر(بسته شدن فایل)
  • :ls - لیست تمامی بافرهای باز
  • :sp فایل - باز کردن فایل در پنجره جدید و به دو قسمت کردن پنجره
  • :vsp فایل - باز کردن فایل در پنجره جدید و به دو قسمت کردن پنجره به صورت عمودی
  • Ctrl + ws - به دو قسمت کردن پنجره
  • Ctrl + ww - سوئیچ کردن مابین پنجره ها
  • Ctrl + wq - خارج شدن از پنجره
  • Ctrl + wv - به دو قسمت کردن به صورت عمودی
  • Ctrl + wh - انتقال مکان نما به پنجره سمت چپ
  • Ctrl + wl - انتقال مکان نما به پنجره سمت راست
  • Ctrl + wj - انتقال مکان نما به پنجره پایین
  • Ctrl + wk - انتقال مکان نمابه پنجره بالا

تب ها

  • :tabnew or :tabnew {page.words.file} - باز کردن فایل در تب جدید
  • Ctrl + wT - انتقال بافر فعلی به تب جدید
  • gt or :tabnext or :tabn - برو به تب بعدی
  • gT or :tabprev or :tabp - برو به تب قبلی
  • #gt - برو به تب شماره #
  • :tabmove # - انتقال تب فعلی به موقعیت #
  • :tabclose or :tabc - بستن تب فعلی و تمام پنجره های آن
  • :tabonly or :tabo - بستن تمامی تبها غیر از تب فعلی
  • :tabdo command - اجرای دستور روی تمامی تبها