[Emacs] 커서 위치의 단어 검색
Emacs에서 순차검색(isearch. 단축키는 C-s) 시 현재 커서 위치에 있는 단어(Word)를 검색하려면 검색어 입력 시 C-w를 입력하면 자동으로 검색어로 입력된다.
하지만 C-s C-w의 문제가 있다면 단어를 완벽하게 넣어주지 않는다는 점이다. Emacs 자체의 전반적인 특징이겠지만, 만약 단어 중간에 커서가 위치하고 있다면 커서 위치부터 단어 끝 까지만 검색어로 입력된다.
그렇다고 M-b를 눌러서 단어 첫 부분까지 이동해서 C-s C-w를 하는 건 굉장히 귀찮다. 그래서 해법을 찾던 중 괜찮은 코드를 발견했다.
감상은? 편하다. 그 자체로 좋은거다. ;-)
참고 링크: http://emacswiki.org/emacs/SearchAtPoint
하지만 C-s C-w의 문제가 있다면 단어를 완벽하게 넣어주지 않는다는 점이다. Emacs 자체의 전반적인 특징이겠지만, 만약 단어 중간에 커서가 위치하고 있다면 커서 위치부터 단어 끝 까지만 검색어로 입력된다.
그렇다고 M-b를 눌러서 단어 첫 부분까지 이동해서 C-s C-w를 하는 건 굉장히 귀찮다. 그래서 해법을 찾던 중 괜찮은 코드를 발견했다.
(require 'thingatpt) (defun my-isearch-yank-word-or-char-from-beginning () "Move to beginning of word before yanking word in isearch-mode." (interactive) (if (= 0 (length isearch-string)) (beginning-of-thing 'word)) (isearch-yank-word-or-char) (substitute-key-definition 'my-isearch-yank-word-or-char-from-beginning 'isearch-yank-word-or-char isearch-mode-map)) (add-hook 'isearch-mode-hook (lambda () "Activate my customized Isearch word yank command." (substitute-key-definition 'isearch-yank-word-or-char 'my-isearch-yank-word-or-char-from-beginning isearch-mode-map)))이 코드를 실행시킨 후 C-s C-w를 입력해 보면 단어 시작점 부터 해당 단어가 자동으로 검색어로 입력되어서 검색된다. C-w로 검색어를 입력한 이후 다시 C-w를 입력하면 계속 다음 단어가 검색어로 추가된다.
감상은? 편하다. 그 자체로 좋은거다. ;-)
참고 링크: http://emacswiki.org/emacs/SearchAtPoint
댓글