2
我有check-parens
设置为我的文件(特别是我的Markdown文件)的保存钩子,以提醒我关于不平衡的括号。他们几乎都是错误的,这也救了我从涉及括号里面的旁白降价链接了大量的错误:定制支票检查以检查双引号
;In Markdown files, there are few excuses for unbalanced delimiters
(add-hook 'markdown-mode-hook
(lambda()
(when buffer-file-name
(add-hook 'after-save-hook
'check-parens
nil t))))
我发现我有类似的问题与报价 - 我将下降一个尾随报价,或我会忘记适当地转换单个和双打等等(当我将文章标题放入工具提示时,这有时会与链接错误重叠。)失衡的原因比(s或)s多一点原因,它是同样的任务check-parens
已经在做了,所以很自然我也想要有check-parens
封面引用
但是我似乎无法这样做!正确的方法似乎涉及到黑客攻击降价语法表,但没有我尝试似乎工作 -
(modify-syntax-entry ?\" "(\"" markdown-mode-syntax-table)
(modify-syntax-entry ?\" ")\"" markdown-mode-syntax-table)
(modify-syntax-entry ?\" "$\"" markdown-mode-syntax-table)
(modify-syntax-entry ?\" "^\"" markdown-mode-syntax-table)
(modify-syntax-entry ?\" ".\"" markdown-mode-syntax-table)
(modify-syntax-entry ?' "\"" markdown-mode-syntax-table)
等等等等等,他们都要么根本没有,或导致check-parens
该文件在尽可能我可以告诉大家一切早吐出错误的工作方式精细。
我已经通过了一些关于该主题的环节和章˚F文档阅读modify-syntax-entry
:
- http://www.emacswiki.org/emacs/ParenthesisMatching#toc1
- https://www.gnu.org/software/emacs/manual/html_node/elisp/Syntax-for-Strings.html
- http://www.emacswiki.org/emacs/EmacsSyntaxTable
- http://zvon.org/other/elisp/Output/SEC561.html
- http://www.chemie.fu-berlin.de/chemnet/use/info/elisp/elisp_32.html
- http://www.delorie.com/gnu/docs/elisp-manual-21/elisp_350.html
,并要求对#emacs
,都无济于事。
(版本是在Debian的Emacs 24.0.93.1不稳定。)
你知道,我正要说,这是我试过,发现想要的那些之一 - 它是 - 当我想到时,我应该更仔细地检查,因为Emacser建议它。原来测试文件非常复杂,我错过了一个不平衡的报价对。 (不幸的是,似乎闪烁的代码很容易修复以前的括号问题,因此我不得不手动对分文件,直到我找出不平衡的地方。) – gwern 2012-03-03 01:06:41