증분 검색으로 두 공백 일치


20

다음을 사용하여 검색 할 때 :

C-s SPC SPC

단일 공백과도 일치합니다. 정확히 두 공간을 일치시키고 싶습니다.

답변:


24

M-s SPC일치하는 공백 문자를 문자 그대로 전환 하려면 Isearch 중에 사용하십시오 . 문자 그대로 일치 SPC하면 입력 한 각 문자가 개별적으로 일치합니다. (이것은 기본 Emacs 동작 인 BTW였습니다.)

기본 동작의 사용자 정의 옵션으로이를 구성하려면 search-whitespace-regexpnil. ( M-x customize-option search-whitespace-regexp)

GNU Emacs 매뉴얼 node를 참조하십시오 Special Isearch.


고마워 실제로 .emacs 줄 (set-variable 'search-whitespace-regexp nil)을 넣는 것이 좋습니다 . 감사.
Gray

1
@Gray : set-variable새 값을 영구적으로 저장하지 않으므로 기본 동작이 변경되지 않습니다. 나는 이것이 M-x customize-option여기에서 요구되는 것이라고 생각 합니다.
Drew

나는 도트 emacs 파일에서 그것에 대해 이야기하고있었습니다. 사용자 정의 옵션에 대해 몰랐습니다. 편집 해 주셔서 감사합니다.
Gray

3

공백 문자를 이스케이프하면 regexp 증분 검색을 사용하면 문제가 해결됩니다.

C-M-s \SPC\SPC

백 슬래시없이 검색 및 바꾸기를 사용할 수도 있습니다.

M-% SPC SPC

키보드 매크로를 만들 때 오늘도 같은 문제가 발생했습니다. 이 대답은 ESC C-s대신 키 조합을 사용해야했지만 문제를 해결했습니다 . github.com/leoliu/ggtags/issues/64
Jonas Dahlbæk

3

regexp 검색을 사용하면 도움이되지만 검색 할 공백 C-q SPC을 인용 하여 검색 할 리터럴 공백을 확보 할 수도 있습니다.

@Rovanion의 답변을 무효화하려면 다음을 사용하십시오 isearch-forward-regexp.

C-M-s C-q SPC C-q SPC

두 개의 연속 공백이 검색됩니다. 흥미롭게도 isearch-forward-regexp이산 경기가 필요합니다. 검색 aaa에 대한 것은 aa단지 두 번째 문자에서 다시 한 번이 아니라 일치합니다.


마지막 메모와 관련하여 "0 개 이상의 공백과 그 뒤에 오는 것"을 검색하고 선행 공백의 N 문자가 주어지면 모든 N + 1 개별 일치를 단계별로 수행해야합니다. 나는 합리적인 옵션 을 제공 한다는 것을 알 수 있지만, 이것이 끔찍한 디폴트 일 것입니다.
phils
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.