4

我对 Emacs 比较陌生,但一直在试验它是否值得切换。我用 Markdown 编写并使用 pandoc 转换为我需要的任何内容。万一这很重要,我在 Ubuntu 12.04 上运行 Emacs 23.3.1。

我是人文学科的研究生,所以我的文字脚注很重。pandoc 中的脚注在方括号内格式化。我遇到的问题是自动填充模式似乎忽略了括号内的文本,所以我的脚注最终在页面上蜿蜒而行——我能找到的唯一解决方法是自己手动断行,每次我编辑段落。这显然不太理想。(我也可以放弃内联脚注,将它们全部分开引用,但我不希望这样做,而且似乎没有必要这样做。)

所以我的问题是,有没有办法让自动填充模式也对括号内的文本进行操作?有没有默认情况下没有的原因?

非常感谢,

——布赖恩

4

3 回答 3

3

事实证明,从 v. 1.7 开始,markdown 模式故意避免在方括号中换行,以避免断开链接——这是 Markdown 中括号最常见的用法。请参阅http://jblev​​ins.org/projects/markdown-mode/rev-1-7

于 2012-05-28T18:10:26.123 回答
2

布莱恩,

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

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

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

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

于 2012-06-01T14:02:07.693 回答
0

Auto-fill by itself does not prevent filling inside brackets. It can be told to do so by the major-mode, tho, so I guess the problem depends on your major mode. If you're using mardown-mode, then please report this problem to its maintainer. In any case, you may want to try and use M-q to explicitly fill the paragraph, since it does not always follow the same conventions as auto-filling: it's more explicit than auto-fill, but still more automatic than placing the newlines by hand.

于 2012-05-28T15:53:32.047 回答