أود البحث عن حالة الأحرف الكبيرة Word ، على سبيل المثال حقوق النشر في ملف. لقد حاولت إجراء بحث مثل:
/copyright/i # Doesn't work
لكنها لا تعمل. أعلم أنه في Perl ، إذا أعطيت العلامة i
إلى regex ، فسوف يحول هذا السجل إلى regex غير متحسس لحالة الأحرف. يبدو أن Vim له طريقته الخاصة للإشارة إلى حالة غير حساسة لحالة الأحرف.
تحتاج إلى استخدام تسلسل الهروب \c
. وبالتالي:
/\ccopyright
للقيام بالعكس (حالة حساس مطابقة) ، استخدم \C
بدلاً من ذلك.
بالإضافة إلى اقتراحات \c
و ignorecase
، أجد smartcase
مفيدًا جدًا. إذا كنت تبحث عن شيء يحتوي على أحرف كبيرة ، فستقوم بعملية بحث حساسة لحالة الأحرف ؛ إذا بحثت عن شيء صغير بحت ، فستقوم بعملية بحث غير حساسة لحالة الأحرف. يمكنك استخدام \c
و \C
لتجاوز هذا:
:set ignorecase
:set smartcase
/copyright " Case insensitive
/Copyright " Case sensitive
/copyright\C " Case sensitive
/Copyright\c " Case insensitive
نرى:
:help /\c
:help /\C
:help 'smartcase'
يمكنك ضبط الخيار ic
في Vim قبل البحث:
:set ic
للعودة إلى عمليات البحث الحساسة لحالة الأحرف ، استخدم:
:set noic
ic
اختصار لـ ignorecase
يمكنك إصدار الأمر
:set ignorecase
وبعد ذلك ستكون عمليات البحث غير حساسة لحالة الأحرف.
للتبديل بين البحث الحساس لحالة الأحرف وأستخدمه ، استخدم هذا التعيين في ملفي .vimrc
nmap <F9> :set ignorecase! ignorecase?
كما اقترح آخرون:
:set ic
ولكن الأشياء الرائعة هي أنه يمكنك تبديل هذه الأوضاع باستخدام:
:set ic!
ضع هذا الأمر في ملف vimrc الخاص بك
set ic
تفعل دائما حالة البحث غير حساسة
يمكنك استخدام هذه الأوامر في vimrc
:
set ignorecase
- ستكون جميع عمليات البحث غير حساسة لحالة الأحرفset smartcase
- سيكون بحثك حساسًا لحالة الأحرف إذا كان يحتوي على حرف كبيرتحتاج إلى ضبط ignorecase
إذا كنت تريد استخدام ما smartcase
يوفره.
لقد كتبت مؤخرًا مقالة حول أوامر البحث فيم (كلاهما مدمج في القيادة وأفضل الإضافات للبحث بفعالية).
أفضل استخدام \c
في نهاية سلسلة البحث:
/copyright\c
كما ذكر @ huyz في بعض الأحيان ، فإن السلوك المرغوب فيه يستخدم عمليات البحث غير الحساسة لحالة الأحرف ولكن البدائل الحساسة لحالة الأحرف. حل لي لذلك:
nnoremap / /\c
nnoremap ? ?\c
مع ذلك دائمًا عندما تضغط على /
أو ?
، ستضيف \c
للبحث عن حالة غير متحسسة لحالة الأحرف.
يمكنك تعيين ignorecase
افتراضيًا ، قم بتشغيل هذا في Shell
echo "set ic" >> ~/.vimrc
فيم لها 2 وسائط
1. تعديل الوضع
سوف يعمل البحث عن الوضع العادي
/\ c لحالة الأحرف الحساسة
/\ c بحث