삽입 모드 (악의) web-mode
와 둘 다에 사용하는 키 바인딩 세트가 php-mode
있습니다. 그래서 나는 set-local-map
무언가를 사용할 수 없습니다 . 일반 모드에서는 동일한 키가 다른 명령을 호출합니다. 따라서 바인딩 evil-insert-state-map
만 활성화해야합니다 .
나는 다음을 가지고있다 :
(eval-after-load 'php-mode
'(progn
(define-key evil-insert-state-map
(kbd "C-<next>") (lambda () (interactive) (insert " = ")))
(define-key evil-insert-state-map
(kbd "C-<prior>") (lambda () (interactive) (insert "->")))))
(eval-after-load 'web-mode
'(progn
(define-key evil-insert-state-map
(kbd "C-<next>") 'zencoding-expand-yas)
(define-key evil-insert-state-map
(kbd "C-<prior>") 'zencoding-expand-line)))
따라서 web-mode
또는 php-mode
로드 될 때마다 이러한 키 바인딩이 활성화됩니다.
문제는 : 나는이 열려있는 버퍼의 하나 있다고 가정 php-mode
하고있는 다른 web-mode
. 때 web-mode
버퍼가 현재 버퍼이고 내가에서의 다른 버퍼로 전환 php-mode
의 web-mode
바인딩은 여전히 내부 활성 php-mode
버퍼입니다.
내가 사용하여이 문제를 해결하기 위해 노력 (add-hook 'web-mode-hook [...])
하고 (add-hook 'php-mode-hook [...])
대신에 바인딩을 설정 eval-after-load
. 그러나이 상황에서는 해당 솔루션이 작동하지 않습니다.
어떤 제안? 정말 고맙겠습니다.
evil-define-key
.