Answers:
经过一番挖掘,我在[this Superuser.com答案中找到了一个提示:您需要设置flyspell-mode-predicate
一个函数来决定是否应检查单词。这是一种使Flyspell忽略以“ http”或“ https”开头的内容的方法:
(defun flyspell-ignore-http-and-https ()
"Function used for `flyspell-generic-check-word-predicate' to ignore stuff starting with \"http\" or \"https\"."
(save-excursion
(forward-whitespace -1)
(when (looking-at " ")
(forward-char)
(not (looking-at "https?\\b")))))
(put 'text-mode 'flyspell-mode-predicate 'flyspell-ignore-http-and-https)
当然有一些缺点:
但作为一种快捷方法,它应该可以工作。
我沿着这些思路(在我的降价模式中)有一些东西可以更好地抵抗地毯地毯圣奥德瓦克的一些常见但病理性的情况:
(require 'thingatpt)
(defun markdown-flyspell-predicate ()
(not (thing-at-point 'url)))
(put 'markdown-mode 'flyspell-mode-predicate 'markdown-flyspell-predicate)
特别是,如果您从查看单词前的空白开始,则该URL不一定必须以开头https
。考虑以下情况:
(/emacs/)
[text text](/emacs/)
\url{/emacs/}
ispell
(不是flyspell
)这个半相关的链接,ispell-skip-region-alist
看起来很有帮助: superuser.com/a/345461/206164 也许flyspell
可以实现类似的功能-例如,使用flyspell-mode-predicate
。