如何在vimrc上标记文件加载时的特定文本? 问题问题

问题描述

问题

我使用vim和vimwiki,并且文件具有可预测的标题,例如(sftp,conn.get)## Planning

我想在我的vimrc中做这样的事情:

## Todo

如果文件中包含/## Todo mt ,则会在文件加载时发生。

但是我没有使用## Todomap映射命令。这也不是可以使用imap进行设置的设置。因此,我正在寻找一些在文件加载时自动启动的vimscript关键字。

问题

如何在vimrc中搜索标记文件加载?

解决方法

这似乎autocmd可以提供帮助(请参阅:h autocmd)。您可以使命令在许多不同的事件上运行,包括在加载某种文件类型时。因此,您可以像这样使用autocmd

autocmd FileType vimwiki silent! /## Todo/ | mark t

您应该能够修改事件,使其仅在所需的文件上运行。 silent!部分在那里,因此如果文件中没有## Todo,您不会收到错误消息。 |命令允许运行多个命令,如果第一个命令不成功,则第二个命令将不运行。