2012-07-06 32 views

回答

2

我有办法两种语言之间切换:

;; You should have aspell-ru and aspell-en packages installed 
(let ((langs '("english" "russian"))) 
    (setq lang-ring (make-ring (length langs))) 
    (dolist (elem langs) (ring-insert lang-ring elem))) 
(defun cycle-ispell-languages() 
    (interactive) 
    (let ((lang (ring-ref lang-ring -1))) 
    (ring-insert lang-ring lang) 
    (ispell-change-dictionary lang))) 

(global-set-key (kbd "C-1") 'cycle-ispell-languages) 
+0

我很感激你的代码。这是一个很好的提示,但我想自动化。每次我写报价时,我都不想在语言之间切换。 – msampaio 2012-07-07 12:29:57

0

请尝试swl模式从http://www.emacswiki.org/emacs/TN/#toc13。它适用于flyspell。选择当前点位置处文本的字典。你应该适应你的需求。 语言标识符字符串(如\ selectlanguage {...})必须从行首开始。

同时我也发现下页flyspell-babel.el:

https://tex.stackexchange.com/questions/40988/how-can-i-make-auctex-spell-check-in-the-language-specified-by-babel-and-csquote

我认为这是更加人性化(封装)。它不使用即时格式(jit-lock-mode)和文本属性,因此可能会有一些性能问题。但也许,这不是问题,我太谨慎了。

相关问题