1

我正在编辑一个降价文件,并在我的文档中看到一些红色的波浪线。我有 flycheck 使用 markdown-lint,ispell 做了一些其他工作来检测拼写错误、重复的单词等。但我无法立即弄清楚为什么某些单词会被扭曲。

我发现了

  • C-c ! n将带我到下一个波浪形的flycheck错误
  • C-,将带我到下一个flyspell错误
  • M-$将调用ispell来帮助

所以我已经完成了真正需要的一切工作。但是红色的波浪线代表不同的东西有点烦人,所以我必须使用不同的命令来获得看起来相同的东西,因此无法判断使用哪个绑定来跳转到下一个波浪线。而且我想知道是否有办法,当点在一个弯曲的东西上时,知道它为什么是弯曲的。(我意识到 flycheck 在 minibuffer 中显示原因方面做得很好,但我认为 flyspell/ispell 做不到)。

我担心这会变得更糟,因为我尝试添加更多工具,如WriteGood 模式和可能的其他工具。

4

1 回答 1

2

我不认为有一个简单的内置方法可以做到这一点,但这里有一个小函数试图告诉点上的曲线代表什么:

(defun my-whats-that-squiggle ()
  (interactive)
  (let* ((interesting-properties '(flycheck-error flyspell-overlay flymake-overlay))
         (present-properties (cl-remove-if-not
                              (lambda (p) (get-char-property (point) p))
                              interesting-properties)))
    (if present-properties
        (message "This squiggle represents: %s"
                 (mapconcat 'symbol-name present-properties ", "))
      (message "No interesting properties present"))))

使用 调用它M-x my-whats-that-squiggle,或使用 将其绑定到一个键global-set-key

您可以使用 手动检查当前存在哪些属性C-u C-x =,并根据需要添加更多属性interesting-properties。跳到下一个曲线,无论它是什么类型,很可能涉及编写一个调用next-property-change.

于 2019-12-17T14:15:10.173 回答