سحرارآمیز



بدرد بخورای ویم

پیدا کردن الگو و ویرایش

دستور s%: برای پیدا کردن و جایگزینی الگو استفاده میشه.

کلمه‌ی folan رو توی این فایل با کلمه‌ی my_folan عوض کن.

:%s/folan/my_folan

ولی دستور بالا فقط اولین مورد پیدا شده تو یک خط رو جایگزین میکنه.

تمام کلمه‌های folan توی هر خط توی فایل رو با کلمه‌ی my_folan عوض کن.

:%s/folan/my_folan/g

g روی برای تغییر همه‌ی موارد توی خط استفاده میکنیم و c رو برای تایید جایگزینی.

تمام کلمه‌های folan رو تو فایل پیدا کن و به ترتیب بپرس کدوم رو میخوام با my_folan عوض کنم.

:%s/folan/my_folan/gc

همه‌ی خط‌هایی که کلمه‌ی folan دارن رو پیدا کن و کل خط رو حذف کن.

:g/folan/d

از همه‌ی عددها یکی کم کن

:g/\d\{}/ normal ^X

همه‌ی خط‌هایی که کلمه‌ی "folan" و یک فاصله و یک عدد جلوش دارن رو پیدا کن اون عدده رو ۵ تا کم کن.

:g/\"folan\": \d\{}/ normal 5^X

مثلا یه فایل json که یه سری ابجکت با کلید folan داخلش داره و مقدار folanها همه ۵ تا بیشتر از مقدار درستشون هستن رو میخوایم درست کنیم:

[
  {
    "name": "first folan",
    "folan": 5
  },
  {
    "name": "second folan",
    "folan": 6
  }
]

بعد از اعمال دستور:

[
  {
    "name": "first folan",
    "folan": 0
  },
  {
    "name": "second folan",
    "folan": 1
  }
]

خطی که کلمه‌ی folan داره رو پیدا کن و کاراکتر آخرش رو حذف کن

:g/folan/norm $x

زنجیره کردن چند دستور بدون چاپ خطا (چون پرتاپ خطا توی یکی از دستورها توی زنجیره باعث میشه دستورات بعدی در زنجیره اجرا نشن)

:silent! %s/Folan/Bahmaan/g | silent! %s/folan/bahmaan/g

تغییر هر الگوی example["folan"] به example.folan هر example["folan"] رو پیدا کن و به example.folan تبدیلش کن (توی ریفکتور کد پایتون پایتون بدرد میخوره)

:%s/info\[\"\(.*\)"\]/info.\1/g

همه خطایی که داخلشون def هست رو پیدا کن بعدش P بزن یعنی همه خطایی که def دارن و پیدا کن خط بالاش محتویات تو کلیپبورد و paste کن یه دکورتور بخوای بذاری بالای همه‌ی تابع های یه فایل بدرد میخوره

:g/def/ normal P

طبیعتا جایی که الگو رو میذارید میشه از regex استفاده کرد.

لیست QuickFix

پیدا کردن هر خط شامل عبارت target="_blank" در همه‌ی فایل‌های موجود در مسیر پروژه (مسیری که ویم در آن اجرا شده و زیر شاخه‌هایش) با پسوند html

:vimgrep ".*target=\"_blank\".*" **/*.html

باز کردن لیست QuickFix

:cw

رفتن به محل آیتم بعدی در لیست QuickFix

:cn

رفتن به محل قبلی در لیست QuickFix

:cp
جمعه 10 تیر 1401
چرا ویم؟