【问题标题】:Emacs, how to auto turn on flyspell for LaTeX fileEmacs,如何为 LaTeX 文件自动打开 flyspell
【发布时间】:2013-02-16 20:32:08
【问题描述】:

我仅将 Emacs 用于 \LaTeX 和 python 编程。有没有办法在处理 .tex 文件时自动打开 flyspell-mode,在处理 .py 文件时自动打开 flyspell-prog-mode?如何在我的 .emacs 文件中执行此操作?

【问题讨论】:

    标签: emacs emacs24 aspell flyspell


    【解决方案1】:

    将这些函数添加到 python-mode 和 latex-mode 的钩子中

    (require 'python)
    
    ;; If you use tex-mode
    (require 'tex-mode)`
    (add-hook 'latex-mode-hook 'flyspell-mode)
    
    ;; If you use AUCTeX
    (load "auctex.el" nil t t)`
    (add-hook 'LaTeX-mode-hook 'flyspell-mode)
    
    
    (add-hook 'python-mode-hook 'flyspell-prog-mode)
    

    【讨论】:

    • 感谢您的帮助。我将您的代码添加到我的 .emacs 文件的末尾,但它不起作用。我用我的整个 .emacs 文件更新了我的问题,你能告诉我哪里出错了吗?
    • 当你打开一个python文件时,你能确认python-mode正在运行吗?如果它打开,那么上面的附加钩子应该可以正常工作。我认为你已经(需要'pyhthon-mode)之后需要(需要'python)。
    • @jrichter 是的,当我打开 python 文件时,python 模式正在运行。这真的很奇怪,你的方法对我不起作用。
    • @LWZ 感谢您纠正我的错字。但是你的修复有问题。你应该写 'latex-mode-hook,而不是 'LaTeX-mode-hook。请正确写入并重试。
    • @jrichter,这很奇怪,在我的电脑上它实际上是LaTeX-mode-hook,这就是我让它工作的方式。小写没有用。也许是emacs版本?我正在为 Windows 使用 GNU Emacs 24。
    【解决方案2】:

    这样的事情应该可以工作。

    (setq auto-mode-alist (cons '("\\.tex\\'" . flyspell-mode) auto-mode-alist))
    (setq auto-mode-alist (cons '("\\.py\\'" . flyspell-prog-mode) auto-mode-alist))
    

    【讨论】:

    • 这个方法有效,它打开了flyspell,但它完全关闭了语法高亮,并且它不能识别非单词,例如数学方程式和\emph{}之类的东西。它将它们全部标记为拼写错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 2019-10-24
    • 2014-05-26
    • 1970-01-01
    • 2015-02-27
    • 1970-01-01
    相关资源
    最近更新 更多