![通过 It's All Text 编辑 Markdown 文本时,emacs 中出现行尾问题](https://linux22.com/image/22380/%E9%80%9A%E8%BF%87%20It's%20All%20Text%20%E7%BC%96%E8%BE%91%20Markdown%20%E6%96%87%E6%9C%AC%E6%97%B6%EF%BC%8Cemacs%20%E4%B8%AD%E5%87%BA%E7%8E%B0%E8%A1%8C%E5%B0%BE%E9%97%AE%E9%A2%98.png)
我想使用 firefox 的 It's All Text 插件在 emacs 中编辑 markdown 源代码。
在 Markdown 中,您必须在行尾添加两个空格才能获得新行。假设markdown源中有这样一个换行符。如果我通过 It's All Text 在 emacs 中打开它,更改其他内容并保存它,那么行尾的两个空格就会消失,这非常烦人。那么,在这种情况下,有没有办法配置 emacs 不触及行尾的此类空格呢?
答案1
作为我的评论的后续,以下过程通常有助于追踪导致什么的原因..(试验和错误测试,真的......)...
保留尾随空格是emacs
默认行为,因此也许您可以在不加载额外内容的情况下测试它。通过告诉来做到这一点都是文字emacs
通过限制性选项启动。命令是emacs -Q
,但是都是文字不喜欢 arg,所以将命令放入 bash 脚本中,例如。ita-emacs
,并告诉 It's All Text 运行ita-emacs
,然后测试它。 (emacs -Q
相当于-q --no-site-file --no-splash
)...
如果空格没有被删除,那么您至少知道这是emacs
加载的附加内容中的问题。
PS:对于那些可能还没有阅读所有评论(上面)的人,学生如前所述进行测试,并在他的中发现以下行.emacs档案:(add-hook 'before-save-hook 'delete-trailing-whitespace)
……罪魁祸首! :)
答案2
作为规避此问题的一种方法,我使用转义字符,而不是使用两个空格作为换行符\
。至少,它可以与 Pandoc 配合使用。
例子:
This is an example\
of using \\ as\
a new-line marker.
我在这里找到了这个不完全的解决方案: https://gist.github.com/shaunlebron/746476e6e7a4d698b373#gistcomment-2271765