如何在emacs(markdown-mode)中自动填充括号中的行?

时间:2012-05-27 13:34:16

标签: emacs markdown fill pandoc

我对Emacs比较陌生,但一直在试验它是否值得切换。我在Markdown写作并使用pandoc转换为我需要的任何东西。如果重要,我在Ubuntu 12.04上运行Emacs 23.3.1。

我是人文学科的研究生,所以我的写作很重要。在pandoc中的脚注在方括号内格式化。我遇到的问题是自动填充模式似乎忽略括号内的文本,所以我的脚注最终在页面上蜿蜒 - 我唯一能找到的修复就是自己手动打破这些行,每次我编辑段落。这显然不太理想。 (我也可以放弃内联脚注,并将它们留给所有单独的引用,但我不愿意,并且似乎不应该这样做。)

所以我的问题是,有没有办法让自动填充模式对括号内的文本进行操作?有没有理由不默认?

非常感谢,

- Brian

3 个答案:

答案 0 :(得分:3)

事实证明,降价模式,从1.7版开始,故意避免在方括号中打破线条以避免断开链接 - 这是Markdown最常用的括号。请参阅http://jblevins.org/projects/markdown-mode/rev-1-7

答案 1 :(得分:2)

布赖恩,

将以下内容添加到初始文件†以允许自动填充降价模式以打破方括号内的行:

(require 'markdown-mode)
(defun markdown-nobreak-p () nil)

我们所做的是重新定义函数“markdown-nobreak-p”(最初在此定义:http://jblevins.org/git/markdown-mode.git/commit/?id=66566a55)以始终返回“nil”,这意味着“是的,您可以在此时断开”。对于方括号内的点,此函数的原始版本将返回非零值。

http://www.gnu.org/software/emacs/manual/html_node/emacs/Find-Init.html

答案 2 :(得分:0)

自动填充本身并不会阻止填充内部括号。可以通过主模式告诉它这样做,所以我猜这个问题取决于你的主要模式。如果您使用的是mardown-mode,请将此问题报告给维护者。在任何情况下,您可能想尝试使用M-q来明确填充段落,因为它并不总是遵循与自动填充相同的约定:它比自动填充更明确,但仍然比放置更自动手工换行。