像用户手册一样创建vim标签

像用户手册一样创建vim标签,vim,Vim,我想以类似于vim用户手册的方式在.txt文件之间创建标记 我已经知道如何生成标记文件,并且可以在文件之间链接。我唯一想弄明白的是如何使我所有的标签都有不同的颜色(如用户手册中的蓝色),以便它们易于识别 我最好的猜测是,我必须为txt文件自定义语法高亮显示,但我不确定它如何区分标记和普通文本 手册中的标签可通过:help命令获得。将文本文件与Vim文档混合使用可能不会给您带来好处 如果你只想在你的文本文件之间创建链接,你可以为此尝试一些插件编写;我建议--它包括几个用于创建/管理文本文件上的链接

我想以类似于vim用户手册的方式在.txt文件之间创建标记

我已经知道如何生成标记文件,并且可以在文件之间链接。我唯一想弄明白的是如何使我所有的标签都有不同的颜色(如用户手册中的蓝色),以便它们易于识别


我最好的猜测是,我必须为txt文件自定义语法高亮显示,但我不确定它如何区分标记和普通文本

手册中的标签可通过
:help
命令获得。将文本文件与Vim文档混合使用可能不会给您带来好处

如果你只想在你的文本文件之间创建链接,你可以为此尝试一些插件编写;我建议--它包括几个用于创建/管理文本文件上的链接、列表和标题的映射,这些映射通过包含在其中的语法文件突出显示


一些替代方案是,as和。

提取标签及其链接是一件事;你似乎已经解决了那部分问题

要识别和突出显示标记,需要语法规则。如果标记样式遵循Vim帮助,则标记定义由
*
字符包围,标记链接由
|
字符包围

以下摘自
$VIMRUNTIME/syntax/help.vim
的内容包括:

syn match helpHyperTextJump "\\\@<!|[#-)!+-~]\+|" contains=helpBar
syn match helpHyperTextEntry    "\*[#-)!+-~]\+\*\s"he=e-1 contains=helpStar
syn match helpHyperTextEntry    "\*[#-)!+-~]\+\*$" contains=helpStar

hi def link helpHyperTextJump   Subtitle
hi def link helpHyperTextEntry  String

syn匹配帮助超文本跳转“\\\@我的目的不是将我的文件与vim文档混合,而是创建一种类似的样式,其中标记的项目只是以蓝色突出显示。正如我所说,我创建的标签没有任何问题,可以使用Ctrl-]和T遍历它们。我希望这在没有插件的情况下是可能的,因为它存在于文档中。使用
:set syntax=help
可能更简单。您可以使用自动命令或modeline自动执行此操作。请参见
:help“syntax”
:help autocommand
:help modeline
。这更简单。然而,看到大局也很好。谢谢你的帮助!help语法还定义了许多其他高亮显示。只要您不介意,这确实很容易,但您仍然坚持使用现有的整个语法。我的最终解决方案是在
.vim/ftdetect/txt.vim
中添加txt文件,然后添加
setlocal syntax=help
(以及其他内容)在
.vim/ftplugin/txt.vim.
中,它避免了我用自动命令填充
.vimrc