VimScript:生成语法高亮。使 feedkeys() 静音

VimScript: generated syntax highlights. Make feedkeys() silent

我在 VimScript 中编写了一个函数,根据一些计算,我想为文本文件的不同部分设置 many 语法区域。 在下面的示例中,我突出显示了从第 5 行第 108 列到第 8 行第 10 列

:syntax region Red start="\%108c\%5l" end="\%10c\%8l"

我使用的 VimScipt 代码如下所示:

call feedkeys(':syntax region Red start="\%' . col0 . 'c\%' . lin0 . 'l" end="\%' . col1 . 'c\%' . lin1 . 'l"' . "\<cr>")

这按预期工作,但会生成 很多 输出,因为 feedkeys 与它的作用相呼应。这种回显使我的代码非常慢。

我的问题:

有没有办法让 feedkeys() 静音,或者不用 feedkeys() 也能做到?

为什么首先使用 feedkeys()?该功能仅用于模拟此处不需要的按键。

您必须使用 :execute 来执行由多个表达式拼凑而成的命令:

execute 'syntax region Red start="\%'.col0.'c\%'.lin0.'l" end="\%'.col1.'c\%'.lin1.'l"'

注意:删除了间距以使整个命令适合而无需滚动。