도와 주셔서 대단히 감사합니다.이맥스 : 앞으로 및 앞으로 합계
Emacs에서는 iseach-forward (C-s)를 사용하고 싶지만 강조 표시된 fount 단어가 맨 아래가 아닌 화면 중간에 오게되면 더 좋아할 것입니다. 내가 찾을 수
자신이 지속적으로 일을 :
C-의 foo는 C-의 C-의 C-의 ... 오! 그게 내가 찾고 있던 'foo'야! C-l
화면 중앙에 검색 결과를 가운데에 배치 할 수있는 방법이 있습니까?
건배
도와 주셔서 대단히 감사합니다.이맥스 : 앞으로 및 앞으로 합계
Emacs에서는 iseach-forward (C-s)를 사용하고 싶지만 강조 표시된 fount 단어가 맨 아래가 아닌 화면 중간에 오게되면 더 좋아할 것입니다. 내가 찾을 수
자신이 지속적으로 일을 :
C-의 foo는 C-의 C-의 C-의 ... 오! 그게 내가 찾고 있던 'foo'야! C-l
화면 중앙에 검색 결과를 가운데에 배치 할 수있는 방법이 있습니까?
건배
당신은 isearch-forward
후 recenter-top-bottom
을 실행하는 데 defadvice
를 사용할 수 있습니다.
가장 좋은 방법은 아마도 다음과 같은 후크를 추가하는 것입니다 :
(add-hook 'isearch-mode-end-hook 'recenter-top-bottom)
이것은 모든 성공적인 증분 검색 완료시 recenter-top-bottom
명령을 실행합니다.
편집 : I 조금 조사했으며, (활성 검색 중에 C-s
또는 C-r
연속 입력으로, 즉,)과 동일한 문자열에 대해 반복 검색을 실행하는 기능 isearch-repeat-forward
및/또는 isearch-repeat-backward
것으로 보인다. 당신은뿐만 아니라 모든 반복에 가운데로하고자하는 경우 따라서, 당신과 같이, 위의 훅을 정의하는 것 외에도 말했다 기능을 조언해야합니다 개인적으로
(defadvice
isearch-repeat-forward
(after isearch-repeat-forward-recenter activate)
(recenter-top-bottom))
(defadvice
isearch-repeat-backward
(after isearch-repeat-backward-recenter activate)
(recenter-top-bottom))
(ad-activate 'isearch-repeat-forward)
(ad-activate 'isearch-repeat-backward)
, 나는 결과 동작은 매우 성가신과 방향 감각을 혼란으로 발견 , 그러나 de gustibus non est disputandum. 아마도 에 사용하기 위해 recenter-top-bottom
을 예약하고 repeat
함수에 대한 조언에서 recenter
만을 사용하면 덜 불쾌 할 것입니다.
자문 isearch-forward
은 원래 위에서 제안한 후크를 추가하는 것과 같으며 반복 검색에는 영향을 미치지 않습니다. 후크를 추가하는 것이 더 간단하고 좀 더 관용적이라고 생각하므로 기능을 조언하는 것보다 선호해야합니다.
감사합니다. Nicolas and Greg.
귀하의 제안은 올바른 방향으로 나에게 지적했습니다. 이 내가 요구 한 것을 수행하는 코드는 다음과 같습니다
(defadvice
evil-search-forward
(after evil-search-forward-recenter activate)
(recenter))
(ad-activate 'evil-search-forward)
(defadvice
evil-search-next
(after evil-search-next-recenter activate)
(recenter))
(ad-activate 'evil-search-next)
(defadvice
evil-search-previous
(after evil-search-previous-recenter activate)
(recenter))
(ad-activate 'evil-search-previous)
설명 :
내가 이블 (이맥스에서 정력 모드)을 사용하는 것이 추가하는 일을 더 복잡 할, 그래서하지 않았다 내 질문에 그 생략.
나는 앞으로 탐색 할 때 defadvice를 사용하여 다음 검색된 항목으로 이동하고 이전 검색된 항목으로 이동합니다.
언급 할 가치가있는 점은 내가 (recenter-top-bottom) 기능을 사용하지 않았다는 것입니다.첫 번째 검색 항목을 화면 중앙에 배치하고 두 번째 항목을 가운데로, 세 번째 항목을 가운데로 가운데에 배치하여 동작이 미친 것입니다. 필자는 방금 '화면 중앙'에 센터링하기 위해 'recenter'기능을 사용했습니다.
(defadvice
isearch-forward
(after isearch-forward-recenter activate)
(recenter))
(ad-activate 'isearch-forward)
(defadvice
isearch-repeat-forward
(after isearch-repeat-forward-recenter activate)
(recenter))
(ad-activate 'isearch-repeat-forward)
(defadvice
isearch-repeat-backward
(after isearch-repeat-backward-recenter activate)
(recenter))
(ad-activate 'isearch-repeat-backward)
건배 (테스트하지!) : 악하지 않는 코드는 다음과 같을 것이다 사용자의
!