내 emacs 프레임을 두 개의 나란히 있는 창으로 나누기 시작했지만 커서가 현재 어느 창에 있는지 한눈에 알 수 없는 경우가 많습니다. 다른 창 명령을 특수 키에 묶어두었기 때문에 이 키를 누르기가 쉽습니다. 다른 창으로 전환한 후 즉시 커서가 세 번 깜박이게 하는 방법이 있습니까? 아니면 사람들이 더 나은 해결책을 생각했을까요?
답변1
나는 emacs가 현재 줄을 강조 표시하도록 하는 것이 도움이 된다고 생각합니다. 마이너 모드hl 라인 모드이 방법. 현재 버퍼에서 활성화할 수 있습니다.MX hl-line-mode
, 또는 emacs 구성에서 전역적으로:
(global-hl-line-mode 1)
보세요Emacswiki: 현재 줄 강조 표시. 또한 여러분에게 더 흥미로울 수 있는 다른 사소한 모드도 언급합니다.
편집하다:
제가 위키를 검색하다가 발견한 것은십자선 모드. 나는 이것을 직접 시도해 볼 것이라고 생각했습니다.
(crosshairs-mode 1)
(setq col-highlight-vline-face-flag t
col-highlight-face hl-line-face)
편집 2:
나는 수평선을 좋아하지만 계속되는 수직선이 산만하다고 생각합니다. 다행히도 플래시 기능 과 유휴 모드 crosshairs
도 제공됩니다 .flash-crosshairs
toggle-crosshairs-when-idle
유휴 상태일 때 십자선을 표시하기 위해 구성에 다음이 있습니다.
(require 'crosshairs)
(toggle-crosshairs-when-idle 1)
(setq col-highlight-vline-face-flag t
col-highlight-face hl-line-face)
그러나 이것은 버퍼/창 스위치에서는 깜박이지 않습니다. 불행하게도 후크가 없습니다. 하지만 적어도 emacs lisp는 우리에게컨설팅 기능, 이를 통해 기존 기능을 확장할 수 있습니다. 이것은 매우 까다로울 수 있습니다.
버퍼 전환 후 십자선이 깜박입니다.
(defadvice switch-to-buffer (after switch-to-buffer-flash-crosshairs activate)
"Call `flash-crosshairs' after `switch-to-buffer'"
(flash-crosshairs))
이는 대부분의 경우 작동합니다(전환이 완료된 경우는 아님 switch-to-buffer
).
미니 버퍼(열린 파일 등)가 일부 문제를 일으키기 때문에 창 전환이 더 어렵습니다. 따라서 깜박임은 다른 버퍼로 전환할 때만 발생합니다.
(defadvice select-window (around select-window-flash-crosshairs activate)
"Call `flash-crosshairs' after `select-window', if switching to another buffer.
The check is necessary to prevent issues with mini-buffer switching."
(let (cons (cur-buffer-name (buffer-name (current-buffer)))
ad-arg-bindings)
ad-do-it
(unless (string= (buffer-name (window-buffer window))
cur-buffer-name)
(flash-crosshairs))))
ad-arg-bindings
제안된 함수에 대한 인수이고 ad-do-it
원래 함수를 실행합니다.
제안을 비활성화하려면 다음을 사용하십시오.
(ad-remove-advice 'select-window 'around 'select-window-flash-crosshairs)
(ad-remove-advice 'switch-to-buffer 'after 'switch-to-buffer-flash-crosshairs)
제가 말했듯이 조언을 제공하는 것은 까다롭지만 이것이 대부분의 경우에 해당한다고 생각합니다.
답변2
Emacs라는 오래된 Emacs 패키지를 찾고 있었는데 e-other-window
온라인 검색 중에 이 질문을 발견했습니다. 결국 예전 컴퓨터에서 뒤져보고 다시 찾아야 해서 그냥 Github에 올려서 모두와 공유하게 되었습니다(제가 할 수 있는 최고의 백업이었습니다).
https://github.com/N-Mi/e-other-window
e-other-window.el --- 창으로 변경할 때 창을 깜박입니다.
이것은 키 바인딩을 사용하여 한 창에서 다른 창으로 전환할 때 현재 창을 깜박이게 하는 Kevin A. Burton의 유용한 작은 Emacs 패키지입니다.
결합하다hl 라인 모드, 2, 3, 4개의 창 프레임에서 커서가 어디에 있는지 쉽게 찾을 수 있습니다.