我正在尝试理解如何将Neovim中的代码复制为RTF。到目前为止,我认为最简单的方法是将代码转换为HTML,然后将HTML转换为RTF,因此使用:TOhtml可以将给定范围转换为HTML,并根据Nvim编辑器中的颜色对其进行着色,但当使用tree时,颜色不会转换。
当我将一段代码转换成不带treesitter的HTML时,我得到:
<style>¬
<!--¬
pre { white-space: pre-wrap; font-family: monospace; color: #e4e4e4; background-color: #000000; }¬
body { font-family: monospace; color: #e4e4e4; background-color: #000000; }¬
* { font-size: 1em; }¬
.Operator { color: #af5f87; }¬
.Repeat { color: #d787d7; font-weight: bold; }¬
.String { color: #d7875f; }¬
.Comment { color: #5f875f; }¬
.LineNr { color: #b2b2b2; }¬
.Include { color: #d75f87; }¬
.Type { color: #5fafaf; }¬
.Number { color: #afd7af; }¬
.Special { color: #5fafff; }¬
.Function { color: #d7d7af; }¬
-->¬
</style>但是当我使用treesitter时,我得到:
<style>¬
<!--¬
pre { white-space: pre-wrap; font-family: monospace; color: #e4e4e4; background-color: #000000; }¬
body { font-family: monospace; color: #e4e4e4; background-color: #000000; }¬
* { font-size: 1em; }¬
.LineNr { color: #b2b2b2; }¬
-->¬
</style>因此,我需要帮助,要么让:TOhtml工作与树,或任何其他方式复制为RTF从Neovim在linux上。
发布于 2021-10-19 10:05:52
TOhtml命令是由Neovim从上游Vim继承而来的,它是使用传统的Vim语法突出显示技术编写的,对treesitter一无所知。
尝试禁用缓冲区上的treesitter高亮显示(TSBufDisable highlight),并使用传统的高亮显示。
https://stackoverflow.com/questions/69585088
复制相似问题