Emacs 如何为文件设置特定的输入方法

Emacs 如何为文件设置特定的输入方法,emacs,Emacs,我用几种语言编写,我想为不同的文件定义不同的输入方法。有办法做到这一点吗 (例如,要设置一个特定的字典,我在文件末尾写下以下内容: <!-- Local IspellDict: british --> 我可以对输入法执行类似的操作吗?您可以在文件开头使用: -*- eval: (activate-input-method 'latin-4-postfix); -*- Local Variables: eval: (activate-input-method 'latin-4-

我用几种语言编写,我想为不同的文件定义不同的输入方法。有办法做到这一点吗

(例如,要设置一个特定的字典,我在文件末尾写下以下内容:

<!-- Local IspellDict: british -->


我可以对输入法执行类似的操作吗?

您可以在文件开头使用:

-*- eval: (activate-input-method 'latin-4-postfix); -*-
Local Variables:
eval: (activate-input-method 'latin-4-postfix)
End:
或在文件末尾:

-*- eval: (activate-input-method 'latin-4-postfix); -*-
Local Variables:
eval: (activate-input-method 'latin-4-postfix)
End:
在这两种情况下,如果主模式具有注释语法,则可以/应该注释行

如果您只想选择在键入C-\时启用哪种输入法,请不要键入:

eval: (activate-input-method 'latin-4-postfix)
您可以使用:

default-input-method: latin-4-postfix

前两段代码回答了我的问题。谢谢@phils!然而,出于好奇,我尝试使用最后一个,但没有成功。我得到这个消息:文件局部变量错误:(void函数默认输入法)。我可能需要在init文件中添加其他内容才能使其工作。请注意,我给出的示例之间的语法差异并不是一个错误。
default input method
示例不应使用
eval
或括号。为了澄清这一点,给变量
default input method
一个文件本地值,或使用伪变量
eval
调用函数是有区别的。