windows下实现简单的输入法配合evil-state切换可以这样(w32-set-ime-open-status好像emacs27之后的版本才有):
(defun emacs-ime-disable ()
(w32-set-ime-open-status nil))
(defun emacs-ime-enable ()
(w32-set-ime-open-status t))
(add-hook 'evil-insert-state-entry-hook #'emacs-ime-enable)
(add-hook 'evil-motion-state-entry-hook #'emacs-ime-disable)
(add-hook 'evil-normal-state-entry-hook #'emacs-ime-disable)
(add-hook 'evil-replace-state-entry-hook #'emacs-ime-disable)
(add-hook 'evil-visual-state-entry-hook #'emacs-ime-disable)
(add-hook 'evil-emacs-state-entry-hook #'emacs-ime-disable)
(add-hook 'org-capture-after-finalize-hook #'emacs-ime-disable)