word? symbol? evil-mode * 키는 symbol이 답일세

less than 1 minute read

vim 키바인딩을 사용할 수 있는 evil-mode를 사용하고 있다.

* 키에 바인딩한 evil-search-word-forward 함수를 호출했을 때, - 문자에서 안 자르고 포함했으면 좋겠다. 함수명, 변수명을 찾고 싶기 때문이다.

(setq-default evil-symbol-word-search t)

해결 방법은 간단. 이제 원하는 대로 찾는다.

evil-symbol-word-search

C-h v evil-symbol-word-search
If nil then * and # search for words otherwise for symbols.

word로 찾을지 symbol로 찾을지 결정하는 변수다.

syntax table

word, symbol 등을 누가 결정하는가? 바로 syntax table이 결정한다.

Each buffer has its own major mode, and each major mode has its own idea of the syntax class of various characters. [.]

34.1 Syntax Table Concepts

메이저 모드마다 가지고 있다.

-       _      which means: symbol
-       .      which means: punctuation

C-h s 입력으로 현재 syntax table을 확인할 수 있다. - 문자를 다르게 인식하는 걸 알 수 있다. 위는 emacs-lisp. 아래는 python 메이저 모드.

C-x C-s C-x C-c