Вопрос: Как сделать нечувствительный к регистру поиск в Vim


Я бы хотел найти слово в верхнем регистре, например, COPYRIGHT в файле. Я попытался выполнить поиск, например:

/copyright/i    # Doesn't work

но это не сработает. Я знаю, что в Perl, если я дам iфлаг в регулярное выражение, он превратит регулярное выражение в не зависящее от регистров регулярное выражение. Кажется, что у Vim есть собственный способ указать не зависящее от регистров регулярное выражение.


1316


источник


Ответы:


Вы должны использовать \cescape-последовательности. Так:

/\ccopyright

Сделать обратный (случай чувствительный сопоставление), использование \Cвместо.


1648



Как и предложения для \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'

560



Вы можете установить icв Vim перед поиском:

:set ic

Чтобы вернуться к поисковым запросам, используйте:

:set noic

icявляется сокращением для ignorecase


235



You can issue the command

:set ignorecase

and after that your searches will be case-insensitive.


49



To switch between case sensitive and insensitive search I use this mapping in my .vimrc

nmap <F9> :set ignorecase! ignorecase?


41



put this command in your vimrc file

set ic 

always do case insensitive search


15



As others suggested:

:set ic

But the cool stuff You can toggle such modes with:

:set ic!

8



The good old vim[grep] command..

:vimgrep /example\c/ &
  • \c for case insensitive
  • \C for case sensitive
  • % is to search in the current buffer

enter image description here


8