Helm : 버퍼 기능 내에서 검색 하시겠습니까?


11

아주 기본적인 Helm 질문입니다. regexp어떤 유형의 버퍼 내에서도 텍스트를 검색 할 수있는 Helm 창 / 명령 / 기능은 무엇입니까 (예 :와 같은 읽기 전용 포함 w3m)?

다시 말해, 나는 Helm의 Emacs의 기본 명령 isearch-forward( C-s) / isearch-backward( C-r)을 찾고 있습니다.

기본 isearch명령 ( C-s또는 C-r) 중 하나를 호출 한 후 다음 두 가지 방법 중 하나로 검색 모드를 종료 할 수 있습니다.

  1. 종료하고 원래 지점으로 돌아가 C-g거나 (을 통해 ) 또는

  2. 현재 지점에서, 즉 현재 일치하는 텍스트 ( RET다른 것들을 통해)에서 버퍼를 종료하고 계속 탐색 할 수 있습니다 .

이 두 가지 옵션 중 두 번째 옵션을 찾고 있습니다.


지금까지 시도한 내용은 다음과 같습니다.

  • helm-regexp: 이것은 내가 찾고있는 것과 가장 가깝지만 C-s/ C-r+ 와 동등한 기능을 수행합니다 C-g(즉, 원래 지점으로 되돌아갑니다. 검색을 종료하고 현재 일치하는 버퍼를 계속 탐색 할 수있는 옵션이 없습니다) 포인트).

  • helm-do-grep: 이것은 파일 내에서 텍스트를 검색하기위한 것 같습니다 (즉, w3m에서 작동하지 않습니다)

  • helm-buffer-run-grep/ -zgrep:이 명령 / 기능을 실행하면 미니 버퍼에 오류 메시지가 나타납니다.Running helm command outside of context

  • helm-mode호출, 활성화 C-s또는 C-r이맥스 '기본납니다 isearch기능 (이 투구의 인터페이스로 대체되지 않습니다). (Helm이이 명령을 대신 할 수 있도록 변경할 수있는 설정이있을 수 있습니다. 즉, Helm이 write-file( C-x C-w)에 대한 기본 명령을 가져 오는 방법과 유사합니다 . 오픈 버퍼에서 파일 이름을 바꾸는 데 사용할 수 있습니다. 브레인 스토밍)


1
당신이 원하는 helm-occurfollow-mode사용 가능.
nispio

답변:


16

이를 위해 기본 헬멧 모듈과 함께 제공되는 도구로 헬름 발생을 사용할 수 있습니다. 그러나 버퍼 검색을위한 최고의 키 기반 도구 중 하나는 Shingo Fukuyama의 helm-swoop 입니다. github 및 MELPA를 통해 얻을 수 있습니다. 경기의 위치에서 포인트를 떨어 뜨릴 수있는 필수 기능이 있습니다 (정규 표현식 일 수 있음). 그러나 Cg를 사용하여 커서를 시작한 위치로 되돌릴 수도 있습니다.

helm-swoop github 페이지에는이 패키지가 제공하는 다른 유용한 기능들이 많이 있습니다 (helm-multi-swoop에 의한 멀티 버퍼 검색 및 결과 라인 편집 기능 포함). 기본 버퍼에 적용).


나는 동의한다. helm-swoop의 개선 된 버전입니다 helm-occur.
Tu Do

그래서 나는이 전선에 조금 늦었다. 나는 시도했다 helm-swoop. 그리고 나는 결코 되돌아 가지 않을 것이다! 감사합니다
iceman

좋은 군주, 조타-급습은이 세상에서 온 것이 아닙니다.
Leo Ufimtsev

5

helm-occur검색 패턴과 일치하는 모든 줄을 보는 데 사용할 수 있습니다 . 당신은 사용할 수 있습니다 C-nC-p다음을 눌러 목록을 탐색하고, RET투구 버퍼를 닫고 일치하는 라인에 커서를 이동합니다.

소스 창에 항상 현재 선택된 일치의 컨텍스트가 표시되도록 사용할 helm-follow-mode때 활성화하고 싶습니다 helm-occur. 다음과 같이 팔로우 모드를 자동으로 활성화 할 수 있습니다.

(require 'helm-config)

(defvar my-helm-follow-sources ()
  "List of sources for which helm-follow-mode should be enabled")

;; Use helm-follow-mode for the following sources:
(add-to-list 'my-helm-follow-sources 'helm-source-occur)

(defun my-helm-set-follow ()
  "Enable helm-follow-mode for the sources specified in the list
variable `my-helm-follow-sources'. This function is meant to
be run during `helm-initialize' and should be added to the hook
`helm-before-initialize-hook'."
  (mapc (lambda (source)
          (when (memq source my-helm-follow-sources)
            (helm-attrset 'follow 1 (symbol-value source))))
        helm-sources))

;; Add hook to enable helm-follow mode for specified helm 
(add-hook 'helm-before-initialize-hook 'my-helm-set-follow)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.