Ben ikisi için kullandıkları anahtar bağları bir dizi var web-mode
ve php-mode
(Evil) ekleme modunda. Yani kullanamam set-local-map
falan. Çünkü normal modda, aynı tuşlar diğer komutları çağırır. Dolayısıyla bağların evil-insert-state-map
sadece aktif olması gerekir .
Şunlara sahibim:
(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)))
Böylece her yüklendiğinde web-mode
veya php-mode
yüklendiğinde, bu anahtar bağlamaları etkinleştirilir.
Sorun olduğunu: İki açık tampon, bir tane var varsayalım php-mode
ve diğer web-mode
. Tüm web-mode
tampon akım tampondur ve sürmekte olan bir başka tampon geçiş php-mode
, web-mode
bağlamaları hala içinde aktif olan php-mode
tampon.
Bu sorunu kullanarak (add-hook 'web-mode-hook [...])
ve (add-hook 'php-mode-hook [...])
bağları kurmak yerine çözmeye çalıştım eval-after-load
. Ancak bu çözüm bu durumda işe yaramıyor.
Herhangi bir öneri? Gerçekten minnettar olurum.
evil-define-key
.