etc./StackOverFlow

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

청렴결백한 만능 재주꾼 2022. 1. 2. 04:53
반응형

질문자 :Haiyuan Zhang


파일에서 COPYRIGHT와 같이 대문자를 검색하고 싶습니다. 다음과 같은 검색을 시도했습니다.

 /copyright/i # Doesn't work

하지만 작동하지 않습니다. Perl에서 i 플래그를 정규식으로 지정하면 정규식이 대소문자를 구분하지 않는 정규식으로 바뀝니다. Vim에는 대소문자를 구분하지 않는 정규식을 나타내는 고유한 방법이 있는 것 같습니다.



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

/\ccopyright 또는 /copyright\c 또는 /copyri\cght

역(대소문자 구분 일치) \C (대문자 C)를 사용하십시오.


Chinmay Kanchi

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

DrAl

검색하기 전에 Vim ic 옵션을 설정할 수 있습니다.

 :set ic

대소문자 구분 검색으로 돌아가려면 다음을 사용하십시오.

 :set noic

ic ignorecase 줄임말입니다.


Nathan Fellman

명령을 내릴 수 있습니다

 :set ignorecase

그 후에는 검색에서 대소문자를 구분하지 않습니다.


Paolo Tedesco

대소문자를 구분하는 검색과 구분하지 않는 검색 간에 전환하려면 .vimrc에서 이 매핑을 사용합니다.

nmap <F9> :set ignorecase! ignorecase?


vbd

vimrc 에서 다음 명령을 사용할 수 있습니다.

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

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

최근 에 Vim 검색 명령에 대한 기사를 작성했습니다 (내장 명령과 효율적인 검색을 위한 최고의 플러그인 모두).


Matthieu

다른 사람들이 제안한 대로:

 :set ic

그러나 멋진 점은 다음을 사용하여 이러한 모드를 전환할 수 있다는 것입니다.

 :set ic!

Thomas

좋은 오래된 vim[grep] 명령..

 :vimgrep /example\c/ &
  • \c 대소문자를 구분하지 않는 경우
  • \C 대소문자 구분
  • % 는 현재 버퍼에서 검색하는 것입니다.

여기에 이미지 설명 입력


Mick

이 명령을 vimrc 파일에 넣으십시오.

 set ic

항상 대소문자를 구분하지 않는 검색 수행


WALID BELRHALMIA

검색 문자열 끝에 \c 를 사용하는 것을 선호합니다.

 /copyright\c

Nick Tsai

@huyz가 때때로 언급했듯이 원하는 동작은 대소문자를 구분하지 않는 검색을 사용하지만 대소문자를 구분하는 대체를 사용하는 것입니다. 이에 대한 내 솔루션:

 nnoremap / /\c nnoremap ? ?\c

당신이 칠 때 항상 그것으로 / 또는 ? 대소문자를 구분하지 않는 검색을 위해 \c 를 추가합니다.


pbogut

기본적으로 vi의 모든 검색은 대소문자를 구분합니다. 대소문자를 구분하지 않고 검색하려면 명령 모드(Escape 키를 누름)로 이동하고 다음을 입력합니다.
:set ignorecase
:set ic 을 약어로 입력할 수도 있습니다.

대소문자 구분 모드로 다시 변경하려면 다음을 입력하십시오.
:set noignorecase 또는 :set noic 명령 모드


Yogesh Jilhawar

Vim에는 2가지 모드가 있습니다.

1.편집 모드

  1. 일반 모드( Esc )

검색은 일반 모드에서 작동합니다.

/\c 대소문자 구분

/\c 검색


Gowthaman D

ignorecase 를 설정할 수 있습니다. 쉘에서 실행하십시오.

 echo "set ic" >> ~/.vimrc

Steely Wing

아래에 언급된 것처럼 vim 명령에 대해 더 알고 싶다면 다음 단계를 시도해 볼 수 있습니다.

  • "help" 명령을 호출한 다음 공백을 입력한 다음 TAB 키를 사용하여 단어를 완성하고 올바른 명령을 찾으면 리턴 키를 누르십시오.
 :help ignorecase
  • 다음과 같은 정보가 표시됩니다.

여기에 이미지 설명 입력

  • 앞뒤로 이동할 수 있으며 "ignorecase"( 'ic' )의 경우와 같은 짧은 명령도 볼 수 있습니다. 또한, 또 다른 짧은 예는 'smartcase'('scs' 등)의 경우일 수 있습니다.

여기에 이미지 설명 입력

  • 문서에서 나가려면 평소와 같이 ":q"를 입력하면 "명령 모드"로 돌아갑니다.
 :q

제공된 정보가 누군가에게 도움이 되기를 진심으로 바랍니다.

친애하는,


Manuel Lazo

표현식에 "\c"와 같은 수정자를 배치하는 차이점에 유의하십시오.

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

정규식 패턴에서 수정자를 배치할 위치에 차이가 없다는 허용된 답변에 관계없이 실제로 중요한 것처럼 보입니다.

예제 텍스트:

 asdasdasdasdasd wiktor asdasdasdasd adasdasdasd wiktor asdasda ahjkjlkhjkl asdasd asd asdasdasdasd iuuuu - asdjkkkkkkkaopbsdasda wiktor ----(---------------------)--

성냥

\c^.*A?.*$
^\c.*A?.*$
^.*\cA?.*$
^.*A\c?.*$

출력합니다: 여기에 이미지 설명 입력

일치하지 않음

^.\c*A?.*$
^.*A?\c.*$
^.*A?.\c*$
^.*A?.*$\c

출력합니다: 여기에 이미지 설명 입력 여기에 이미지 설명 입력

  • vim -version VIM - Vi IMproved 8.2(2019년 12월 12일, 컴파일 2020년 6월 1일 06:42:35) 포함된 패치: 1-869

DevWL

출처 : http:www.stackoverflow.com/questions/2287440/how-to-do-case-insensitive-search-in-vim

반응형