[search] Vim에서 대소 문자를 구분하지 않는 검색을 수행하는 방법

파일에서 대문자와 같은 대문자를 검색하고 싶습니다 (예 : COPYRIGHT). 나는 다음과 같은 검색을 시도했다.

/copyright/i    # Doesn't work

그러나 작동하지 않습니다. 나는 Perl에서 i플래그를 정규 표현식으로 제공하면 정규 표현식을 대소 문자를 구분하지 않는 정규 표현식으로 바꿀 것임을 알고 있습니다. Vim은 대소 문자를 구분하지 않는 정규 표현식을 나타내는 자체 방법이있는 것 같습니다.



답변

\c패턴의 어느 곳에서나 이스케이프 시퀀스를 사용할 수 있습니다 . 예를 들면 다음과 같습니다.

/\ccopyright또는 /copyright\c심지어/copyri\cght

역 (대소 문자 구분 )을 수행하려면 \C(대문자 C)를 대신 사용하십시오.


답변

뿐만 아니라 제안으로 \cignorecase, 내가 찾을 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?


답변

vimrc해당 명령 에서 사용할 수 있습니다 .

  • set ignorecase -모든 검색은 대소 문자를 구분하지 않습니다
  • set smartcase -대문자가 포함 된 검색은 대소 문자를 구분합니다

제공 ignorecase하는 것을 사용 하려면 설정해야 smartcase합니다.

나는 최근 에 Vim 검색 명령에 관한 기사를 썼습니다 (명령과 내장 된 플러그인 모두 효율적으로 검색합니다).


답변

다른 사람들이 제안했듯이 :

:set ic

그러나 멋진 점은 다음과 같은 모드를 토글 할 수 있다는 것입니다.

:set ic!