증분 검색 중 발생 횟수 얻기 (Cs / isearch-forward)


17

현대 브라우저에서 영감을 얻어 검색 할 때 아래 스크린 샷의 오른쪽 상단 모서리에있는 "37 of 10"과 같이 문자열이 몇 개나 있는지 확인할 수 있기를 바랍니다.

크롬 10/37

이맥스에서 이것을 얻는 방법이 있습니까? 아마도 느리지 않기 위해 유휴 시간이 지나면 실행해야합니다.


이것은 StackOverflow에 대한 [emacs] 태그가 지정된 질문과 중복됩니다 : stackoverflow.com/q/14764130/729907 , stackoverflow.com/q/22479140/729907 . 분명히 그것은 복제본으로 닫을 수 없으므로 사람들은 다른 SO [emacs] 태그가 붙은 질문의 수십억을 복사 할 수 있음을 의미합니다. Bonjour les degats.
— Drew

@ 드류 : 그 포인터 주셔서 감사합니다. 분명히 질문을 다른 웹 사이트에서 중복으로 간주하는 것은 합리적이지 않습니다. 여기서 질문을 다른 곳에서 "중복 된"것으로 생각하는 것 이상으로 (gnu.emacs.help). 이 사이트에 대한 희망은 SO의 좋은 질문이 여기에 재현 될 경우이 사이트의 품질이 향상되어야한다는 것입니다. 나는 그 질문에 대한 질문을 알지 못했지만 여기에 가장 좋은 질문을하고 시작하는 시간을 가진 사람에게는 확실히 좋은 생각입니다. 질문을 자동으로 마이그레이션하는 방법이있을 수 있습니다.
— ShreevatsaR

왜? 여기서 "SO로부터 좋은 질문"을 재현하는 것이 왜 좋은가? 목표는 무엇입니까? 이 베타는 SO 등에 태그 [emacs]를 사용하는 것과는 별도로 별도의 Emacs 사이트를 갖는 것이 적절한 지 테스트합니다. 다른 곳에서 질문을 복사하여이 사이트가 의미가 있음을 "증명"하면 무엇을 보여 주었습니까? 이것은 나에게 이해가되지 않습니다. 왜 그런 행동을 장려하고 싶습니까? 복사기 외에 누구를 도와 줍니까? 우리가 물건 을 마이그레이션하고 싶다면 ( 베타 동안 그렇지 않은 ) 최소한 원래의 질문자와 응답자는 반복적으로 유지됩니다.
— Drew

@Drew : 목표는 Emacs에 관한 질문을하고 대답 할 수있는 좋은 장소를 갖는 것입니다. 모든 SE 사이트는 (비공개) 베타 기간 동안 사이트에 "질문"을하여 좋은 질문과 대답을하도록 권장합니다. 따라서 나중에 사이트 방문자는 어떤 종류의 컨텐츠가 적합한 지 알 수 있습니다. 어쨌든, 나는이 사이트에 대해 듣고 현재 나를 귀찮게하는 질문을 할 생각을하기 때문에 여기에왔다. 질문을 마이그레이션하는 것에 대한 생각은 위의 첫 번째 의견에서 발언에 의해 촉진되었습니다.
— ShreevatsaR

확인. 더 할 말이 있으면 Meta로 가져 가십시오 .
— Drew

답변:


15

anzu패키지는 않습니다.

anzu.el은 다양한 검색 모드에서 현재 일치 및 전체 일치 정보를 모드 행에 표시하는 부 모드를 제공합니다.

스크린 샷


감사! MELPA를 추가하고 anzu를 설치하고 켜서 작동하는 것 같습니다. 다른 사람이 패키지 (적어도 ELPA가 아닌 패키지)에 의존하지 않는 솔루션을 가지고 있는지 기다릴 것입니다.
— ShreevatsaR

13

다음은 매끄럽지 않은 주식 Emacs로 작업 할 수있는 장점이있는 몇 가지 가능성입니다.

증분 검색 중에 M-s o( isearch-occur) 를 누르면 현재 검색 표현식과 함께 Occur 버퍼가 나타납니다. *Occur*버퍼 의 맨 위에는 일치하는 줄 수가 있습니다.

이 명령 how-many은 정규 표현식 발생 횟수 (반복 발생 포함)를 표시합니다. 불행히도 증분 검색과 통합되지 않습니다. 개념 증명 isearch 통합은 다음과 같습니다. isearch M-s #중을 눌러 일치 횟수를 표시합니다.

(defun isearch-how-many (regexp)
  "Run `how-many' using the last search string as the regexp.
Interactively, REGEXP is constructed as with `isearch-occur'."
  (interactive
   (list (cond
      ((functionp isearch-word)
       (funcall isearch-word isearch-string))
      (isearch-word (word-search-regexp isearch-string))
      (isearch-regexp isearch-string)
      (t (regexp-quote isearch-string)))))
  (how-many regexp nil nil (interactive-p)))
(define-key isearch-mode-map [?\M-s ?#] 'isearch-how-many)

이거 ... 그래 정확히 내가 원하는 것은 아니지만 주식 Emacs로 가능한 최고의 것을 아는 것이 중요합니다.
— ShreevatsaR

이것은 일치 수가 아닌 일치하는 행 수만 표시하는 것 같습니다.
— xuhdev

0

나는 Swiper 를 제안하고 싶다 !

Swiper는 ivy를 사용하여 모든 경기의 개요를 보여주는 isearch의 대안입니다.

여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.