2013-07-02 7 views
0

VIM "super *"\ shift-mouse1 검색에서와 같이 검색 용 마우스를 사용하려고합니다.emacs는 마우스 클릭시 하이라이트 심볼 모드를 사용합니다.

은 키보드 검색에 대해 원하는 동작을 얻기 위해 highlight-symbol 모드를 사용했지만 마우스와 동일한 작업을 수행 할 수있는 방법을 찾을 수 없습니다. 나는 시도 :

(require 'highlight-symbol) 
(global-set-key [(control f3)] 'highlight-symbol-at-point)// <- works for the keyboard 
(global-set-key [(control shift mouse1)] 'highlight-symbol-at-point) 

을하지만 난 Ctrl 키 Shift 키 Mouse1에 노력하고있어 때 마우스의 현재 위치를 검색하지만, 커서의 현재 위치하지 않습니다. 내가 함수 사용을 위해 마우스를 현재 위치로 가져 오는 방법이 있습니까? highlight-symbolthings-at-point을 사용하지만 마우스와 비슷한 패키지를 찾을 수 없습니다.

답변

0

이 코드 조각은 찾고있는 것을 할 수 있습니다. 따라서 (interactive "e"), 당신은 이벤트를 캡처해야합니다 :

(global-set-key [(control shift mouse-1)] 
       (lambda (event) 
        (interactive "e") 
        (save-excursion 
        (goto-char (posn-point (event-start event))) 
        (highlight-symbol-at-point)))) 

은 또한, 나는 YMMV ... 대신에 Mouse1의 Mouse1에 사용했다.

+0

이상하지만, 마우스 오른쪽 버튼을 클릭하면 내가 만든 함수에 첨부 할 때 앨리어싱이 mouse1에서 작동하지 않습니다. 이전에 작동 했었습니다 ... 어쨌든 솔루션이 잘 작동하고 있습니다. tnx. – user2141046

+0

그러나 이것은 마우스 클릭에 따라 단어를 표시하지만 강조 표시된 항목 사이를 검색하지 않기 때문에 매우 지연됩니다. 커서 아래에 있지 않기 때문에 별칭을 개선해야합니다. – user2141046

+2

커서를 그 지점에 위치 시키려면'save-excursion' 만 제거하면됩니다. – juanleon

관련 문제