highlight-symbol-at-point
그러나 기호를 강조 표시 해제하는 쉬운 방법을 찾지 못했습니다.
현재 unhighlight-regexp
강조 표시된 각 심볼에 대해 반복해서 호출해야합니다 .
더 좋은 방법이 있습니까?
- 버퍼에서 강조 표시된 모든 심볼을 강조 표시 해제
- 지점에서 심볼을 강조 해제 하시겠습니까?
M-x hi-lock-mode
highlight-symbol-at-point
그러나 기호를 강조 표시 해제하는 쉬운 방법을 찾지 못했습니다.
현재 unhighlight-regexp
강조 표시된 각 심볼에 대해 반복해서 호출해야합니다 .
더 좋은 방법이 있습니까?
M-x hi-lock-mode
답변:
에서 C-h f unhighlight-regexp
우리는
(unlightlight-regexp REGEXP)
Hi-lock으로 설정된 REGEXP에 대한 각 일치 항목의 강조 표시를 제거하십시오. 대화식으로 REGEXP를 요청하면 이전에 hi-lock 대화식 기능으로 삽입 된 정규식 만 허용됩니다. REGEXP가 t (또는 Cu가 대화식으로 지정된 경우)이면 모든 하이 락 강조 표시를 제거하십시오.
즉 , 버퍼에서 모든 하이 락 강조 표시를 제거하기 위해 인수로 호출 unhighlight-regexp
하면 t
됩니다.
일회성 인 경우 M-: (unhighlight-regexp t)
또는 로 신속하게 수행 할 수 있습니다 C-u M-s h u
. 그러나 이것은 당신이 꽤 자주해야 할 일 인 것 같습니다. 이 경우 interactive
함수 로 감싸서 키에 바인딩하는 것이 좋습니다.
다음은 제안 된 솔루션 my/unhighlight-all-in-buffer
래퍼 대화 형 함수는 그것은에 바인딩 hU
에 search-map
. 기본적으로 search-map
접두사는 M-s
입니다. 그래서 지금, 마찬가지로 M-s h u
출시 unhighlight-regexp
, M-s h U
출시 (자본 U를 참고) my/unhighlight-all-in-buffer
.
(require 'hi-lock)
(defun my/unhighlight-all-in-buffer ()
"Remove all highlights made by `hi-lock' from the current buffer.
The same result can also be be achieved by \\[universal-argument] \\[unhighlight-regexp]."
(interactive)
(unhighlight-regexp t))
(define-key search-map "hU" #'my/unhighlight-all-in-buffer)
좋은 점은 강조 표시를 해제해야하는 기호에 포인트를 놓을 필요가 없다는 것입니다.
당신은 단순히 M-x unhighlight-regexp
또는 M-s h u
(기본 바인딩)을 호출 하고 강조 표시 해야하는 기호의 정규 표현식을 발견 할 때까지 M-p
/ M-n
를 누르고 Enter 키를 누르십시오.
또 다른 방법은 라이브러리 하이라이트 ( highlight.el
), 명령 hlt-highlight-symbol-at-point
및을 사용하는 것 hlt-unhighlight-symbol-at-point
입니다.
기본값은 각각 C-x X h s
및에 바인딩 C-x X u s
됩니다. 강조 표시 및 강조 표시 해제 명령은 모두 C-x X
기본적 으로 접두사 키 에 바인딩됩니다 . 강조 표시 명령은 접 두부 키를 사용합니다 C-x X h
. 강조 표시 해제 명령은 접두사 키를 사용합니다 C-x X u
. C-x X
접두사 command에 바인딩하는 것 이외의 다른 접두사 키를 사용할 수 있습니다 hlt-map
.
라이브러리에서 강조 표시 강조 표시는 오버레이 또는 텍스트 속성 (또는 둘 다)을 사용할 수 있습니다. 강조 표시된 얼굴 또는 색상은 자동으로 (사용자 정의 된 얼굴 및 색상 순서에서) 선택 될 수 있습니다.
강조 표시는 property를 사용 font-lock-face
하여 글꼴 잠금 모드로 제어 할 수 있습니다 . 또는 property를 사용하여 제어 할 수 face
없습니다. ( face
글꼴 잠금을 사용하지 않는 버퍼에서 속성 을 사용 하여 강조 표시 할 수 있으며 글꼴 잠금 모드를 해제하면 강조 표시가 글꼴 잠금 버퍼에 유지됩니다.)