Emacs noweb 模式下的代码块字体化?
在 noweb 模式下,我想让文档块和代码块更容易区分。我已经在使用 font-lock-mode,但它对 R 中的字符串和 tex 中的字符串应用相同的面,因此不能很好地区分代码和文档块。
例如,代码块的背景颜色略有不同。
一种可能性是为代码块的次要模式定义一个新面,但在该模式下编辑缓冲区时该面也将适用。
另一种可能性是为代码块创建覆盖。
此外,有些相关的是,组织模式可以配置为对源块使用不同的背景颜色。
更新:我现在使用 Polymode 来实现这一点。
In noweb mode, I would like to make the doc chunks and code chunks easier to distinguish. I'm already using font-lock-mode, but it applies the same face to strings in R and strings in tex, so doesn't distinguish the code and doc chunks very well.
For example, a slightly different background color for the code chunks.
One possibility would be to define a new face for the minor mode of the code chunk, but then that face would also apply when editing a buffer in that mode.
Another possibility would be to create an overlay for the code chunks.
Also, somewhat related, org-mode can be configured to use different background colors for source blocks.
Update: I now use polymode to achive this.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用 noweb-font-lock-mode< /a> 来自 ESS 以获取代码和文档块的语法突出显示。我建议您还使用 noweb-mode ESS 也是如此,因为它有一些改进。
You can use noweb-font-lock-mode from ESS to get syntax highlighting for both code and documentation chunks. I'd recommend you also use noweb-mode from ESS too, because it has some improvements.
一种选择是 mmm-mode,您可以使用它来定义处于不同模式的区域 - - 它还将一个面应用于整个子模式区域,您可以使用它来轻松区分父文件中的这些区域。
我个人将其用于 IRB 中的 Ruby、HTML 中的 Javascript 和 CSS 等。有一个 我的 emacs 配置中的 javascript。
One option would be mmm-mode, with which you can define regions that are in a different mode -- it also applies a face to the entire sub-mode region, which you can use to easily distinguish those regions within the parent file.
I personally use this for Ruby within IRB, Javascript and CSS within HTML etc. There's an example for javascript in my emacs config.
MuMaMo 扩展允许对文件的不同部分使用不同的规则。获取 nXhtml 包将为您提供模式,我认为您可以将其配置为执行您想要的操作。
The MuMaMo extensions allows different rules for different parts of the file. Getting the nXhtml package will give you the mode and I think you can configure it to do what you want.