Vim:是否可以在文件中添加 :syntax sync fromstart 的模式行?

Vim:是否可以在文件中添加 :syntax sync fromstart 的模式行?

我正在写一个很长的页面来记录编译器,我想如果 doxygen 突出显示能保留下来就好了。只有当我进一步搜索文件时,它才会丢失踪迹,因为那条注释中的行数非常多(目前为 1066 行)。

我发现你可以使用以下命令告诉系统从文件开始进行同步:

:syntax sync fromstart

效果很好。现在我想知道我是否可以在模式行信息中包含该信息(或者定义行数?),这样每次打开文件时它都可以正常工作。

我还注意到了最小行,但这也是特定于语法的东西,看起来我不能直接写:

vim: minlines=10000

这被视为一个错误。

答案1

我相信您正在寻找的是 Vimscript 中称为autocmdon aBufEnter事件的内容。将以下行添加到您的.vimrc将为您打开的每个文件执行所需的命令:

autocmd BufEnter * :syntax sync fromstart

如果您只想打开某些文件扩展名,只需将*上面的内容替换为更具体的文件名模式,例如*.at或 之类的。如果您仍然无法突出显示,您还可以在其他事件上触发自动命令,例如进入插入模式

你可以用这些自动命令-事件对做很多事情。如果你有兴趣进一步了解它们,我还建议你阅读一下这篇文章的几段内容在线指南。为了清楚起见,或者为了后来者,这里有本指南的一个很棒的视觉简写:

:autocmd BufNewFile * :write
         ^          ^ ^
         |          | |
         |          | The command to run.
         |          |
         |          A "pattern" to filter the event.
         |
         The "event" to watch for.

上面是一个自动命令的示例,每当您vim newfile从命令行输入命令时,它都会自动保存文件。

相关内容