Emacs

Emacs - 改變 show-paren-mode 區域

  • June 22, 2016

我喜歡 Emacs 中的 show-paren-mode,但我真的很想更改右括號的突出顯示行為。

也就是說,我希望在點位於右括號上時突出顯示左括號。當點位於右括號後面的字元上時,預設行為會突出顯示左括號。

這容易改變嗎?此外,我會對保持 show-paren-mode 行為的潛在好處感興趣。

從 Emacs 24.3 開始,此功能在 Show Paren 模式下不可用。

這是一些完全未經測試的程式碼(直接在我的瀏覽器中輸入),它調整了 Show Paren 模式以匹配游標之前而不是之後的右括號。

(defadvice show-paren-function 
 (around show-paren-closing-before
         activate compile)
 (if (eq (syntax-class (syntax-after (point))) 5)
     (save-excursion
       (forward-char)
       ad-do-it)
   ad-do-it))

這也會拾取游標之前的右括號,但如果游標位於右括號後面的右括號上,則游標下的右括號優先。修復此問題以在游標看起來更狡猾之前從不查看右括號(可以通過粗略的黑客來完成,例如(flet ((char-syntax …)) ad-do-it))。

引用自:https://unix.stackexchange.com/questions/98850