search - विम में केस असंवेदनशील खोज कैसे करें




vim case-insensitive (9)

मैं एक ऊपरी केस शब्द खोजना चाहता हूं, उदाहरण के लिए फ़ाइल में कॉपी करें। मैंने एक खोज करने की कोशिश की:

/copyright/i    # Doesn't work

लेकिन यह काम नहीं करता है। मुझे पता है कि पर्ल में, अगर मैं एक रेगेक्स में झंडा देता हूं तो यह रेगेक्स को केस-असंवेदनशील रेगेक्स में बदल देगा। ऐसा लगता है कि विम का केस-असंवेदनशील रेगेक्स को इंगित करने का अपना तरीका है।


अच्छा पुराना vim[grep] कमांड ..

:vimgrep /example\c/ &
  • असंवेदनशील मामले के लिए \ सी
  • केस संवेदनशील के लिए \ सी
  • % वर्तमान बफर में खोजना है


आप उन आदेशों को अपने vimrc में उपयोग कर सकते हैं:

  • set ignorecase - आपकी सभी खोजें केस असंवेदनशील होंगी
  • set smartcase - यदि आपकी अपरकेस अक्षर है तो आपकी खोज केस संवेदनशील होगी

मैंने हाल ही में विम खोज कमांड के बारे में एक लेख लिखा है (दोनों कमांड में निर्मित हैं और कुशलता से खोजने के लिए सर्वोत्तम प्लगइन्स)।


आप खोज से पहले वीम में ic विकल्प सेट कर सकते हैं:

:set ic

केस-संवेदनशील खोजों पर वापस जाने के लिए:

:set noic

ic ignorecase लिए ignorecase


आप डिफ़ॉल्ट रूप से ignorecase सेट कर सकते हैं, इसे खोल में चलाएं

echo "set ic" >> ~/.vimrc

इस कमांड को अपनी vimrc फ़ाइल में रखें

set ic 

हमेशा असंवेदनशील खोज करते हैं


केस संवेदनशील और असंवेदनशील खोज के बीच स्विच करने के लिए मैं अपने मैपिंग का उपयोग अपने .vimrc में करता हूं

nmap <F9> :set ignorecase! ignorecase?


जैसा कि अन्य ने सुझाव दिया:

:set ic

लेकिन अच्छी चीजें आप इस तरह के मोड टॉगल कर सकते हैं:

:set ic!

मैं खोज स्ट्रिंग के अंत में \c का उपयोग करना पसंद करता हूं:

/copyright\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'




case-insensitive