2009-03-27 3 views
1

Vim을 사용하여 매뉴얼 페이지를 읽습니다. 하지만 변수를 찾는 데 문제가 있습니다.Vim 검색에서 '-s'를 찾는 방법

/\<-s\> 

는 '-s'를 검색 할 수 있지만, 아무것도 찾을 수 없습니다 예를 들어 내가 사용합니다. Grrr. 나는 파일에서 그것을 본다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

8

\<은 단어의 시작과 일치하고 -은 일반적으로 단어 문자로 간주되지 않습니다. 어떤 문자가 단어 문자로 간주되는지 보려면 :set iskeyword?을 수행하십시오.

이 시도 :

:set iskeyword+=- 
/\<-s\> 

후 작동합니다. :h /\<:h 'iskeyword'을 참조하십시오.

+1

브라이언은 이맥스 대 vim 토론에 대한 해답을 제시해야하는 유일한 사람입니다. – ojblass

2

/-s은 저를 위해 잘 작동합니다.

+0

문제는 단어로 구분됩니다. 거기에 많은 -s 문자열이 있습니다. – Leonard

+0

": 설정 안녕"과 "nnnnnnnnn ..."은 친구입니다. 나는 진지하게, 얼마나 많은 "- s"를 볼 것입니까? 백? –

+0

두 번째 생각에도 불구하고 ... * 왜 * 당신이 게시 한 정규 표현식이 작동하지 않았는지를 아는 것은 좋은 일입니다. 브라이언 감사합니다. –

0

맨 페이지에서 -s의 기능을 설명하는 곳을 찾고 있습니까? ^\s*-s\>을 사용하여 줄의 시작 부분, 공백을 검색 한 다음 플래그를 검색하십시오.

그렇지 않으면 iskeyword을 변경하지 않으려는 경우 구분 기호에 대해 다른 정규식을 사용해보세요. \s-s\>을 사용할 수 있지만 "-s"(따옴표로 묶이지 않음)는 찾을 수 없습니다.

도 참조 :help pattern-overview

관련 문제