증분 검색 중 발생 횟수 얻기 (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.