Ale*_*lke 5 vim sync modeline syntax
我正在写一个很长的页面来记录编译器,我想如果 doxygen 突出显示会一直存在会很好。仅当我进行搜索以进一步查找文件时,它才会丢失跟踪,因为该评论中的行数非常大(现在为 1066)。
我发现您可以使用以下命令告诉系统从文件的开头进行同步:
:syntax sync fromstart
Run Code Online (Sandbox Code Playgroud)
这很好用。现在我想知道我是否可以在模式行信息中使用它(或者可能定义行数?),以便每次打开文件时它都能按原样工作。
我也注意到了 minlines,但这也是特定于语法的东西,看起来我不能只写:
vim: minlines=10000
Run Code Online (Sandbox Code Playgroud)
这被视为错误。
我相信您正在寻找的是 Vimscript 中所谓的autocmdon a BufEnterevent。将以下行添加到.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.
Run Code Online (Sandbox Code Playgroud)
上面是一个自动命令的示例,每当您vim newfile从命令行输入命令时,它都会自动保存文件。