Emacs自然语言的缩写模式

时间:2015-01-25 19:40:18

标签: emacs autocomplete code-completion abbreviation ispell

我在撰写散文或做笔记时经常在Emacs中使用缩写模式。如果有任何方法可以定义特定于语言的缩写,例如,那将是很好的。如果我在英文文本中写“proj”,它会扩展为“project”,而如果我用瑞典文本写它,它会扩展为“projekt”。同样,“riskfac”将扩展为英语中的“风险因素”,而瑞典语中则为“riskfaktor”。如何做到这一点?

如果这可以与当前使用的ispell字典耦合,那将特别好。我知道有不同的缩写表,但这些是特定于模式,而不是语言。

这里有什么想法吗?

2 个答案:

答案 0 :(得分:0)

对于自由文本,我倾向于使用pabbrev.el(我写的!)但是还有其他几个包现在做同样的事情 - 动态缩写扩展取决于你已经编写的内容。这往往会在实践中给出一定程度的语言特异性。

否则,我认为您需要在不同的缓冲区中切换缩写表。如果你使用它们,也许你可以将它挂钩到输入法中,然后Emacs会知道你正在使用哪种语言。

答案 1 :(得分:0)

考虑尝试 dynamic-completion-mode (标准库 completion.el )。

您可以在不同的动态完成文件之间切换,每种语言一个。选项save-completions-file-name包含文件名,但没有任何内容表示您无法动态更改其值,例如使用命令,以便在几组完成之间切换。 (当然,这样的命令应该在切换到另一个文件之前保存到一个文件。)

" doc" dynamic-completion-mode的{​​{1}}位于库Commentary的{​​{1}}。图书馆很旧,但仍然非常有用,恕我直言。摘自completion.el

Commentary

(另见Icicles completion for dynamic-completion-mode。)