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