1

我试图了解如何将 Neovim 中的代码复制为 RTF。到目前为止,我认为最简单的方法是将代码转换为 HTML,然后将 HTML 转换为 RTF,因此使用:TOhtml应该将给定的范围转换为 HTML 并根据 Nvim 编辑器中的颜色对其进行着色,但是在使用树时-保姆颜色不会转换。

当我在没有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来使用treesitter或任何其他方式从Linux上的Neovim复制为RTF。

4

1 回答 1

0

TOhtml命令是 Neovim 从上游 Vim 继承而来的,它是使用传统的 Vim 语法高亮技术编写的,对 treesitter 一无所知。

尝试TSBufDisable highlight在缓冲区上禁用 treesitter 高亮显示 ( ) 并使用传统高亮显示。

于 2021-10-19T10:05:52.000 回答