我希望能够同时使用key-chord
以及 输入法,例如rfc1345
。
目前我用的是
C-x RET C-M-\ rfc1234 RET
激活输入法。
和
M-x key-chord-mode RET M-x key-chord-mode RET (是的,两次)
重新激活键和弦。
这种切换相当麻烦。有没有什么办法可以同时激活它们?或者有没有更快速切换的方法?
答案1
以下代码对我有用(我没有写它,只是从其他来源获得 - 不记得在哪里)
我只是根据自己的需要做了一些调整……
(set-language-environment "UTF-8")
(setq default-input-method "portuguese-prefix")
(defvar use-default-input-method t)
(make-variable-buffer-local 'use-default-input-method)
(defun activate-default-input-method ()
(interactive)
(if use-default-input-method
(progn
(set-input-method default-input-method)
(activate-input-method default-input-method))
(inactivate-input-method))
(key-chord-mode t))
(add-hook 'after-change-major-mode-hook 'activate-default-input-method)
(add-hook 'org-mode-hook 'activate-default-input-method)
(add-hook 'minibuffer-setup-hook 'activate-default-input-method)
(defun inactivate-default-input-method ()
(setq use-default-input-method nil)
(key-chord-mode t))
(add-hook 'c-mode-hook 'inactivate-default-input-method)
(activate-default-input-method)
在最后一行,您可以定义不使用默认输入法的钩子,但 key-chord-mode 也将被设置为开启。
答案2
有一个内置函数toggle-input-method
,C-\默认绑定到,可以方便地从设置的输入法和键和弦支持中切换。
答案3
这个函数能实现你想要的功能吗:
(defun my-whatever ()
(interactive)
"Doc string goes here."
(activate-input-method "rfc1234")
(key-chord-mode nil)
(key-chord-mode nil))
我不确定您绑定了什么C-M-\,但如果绑定了activate-input-method
,我认为这相当于您按下的按键。
显然,您会将此功能绑定到您选择的键序列。