2014-03-02 53 views
2

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

我已经意识到如何生成标签文件,我可以在我的文件之间进行链接。我唯一想知道的是如何让我的所有标签具有不同的颜色(如用户手册中的蓝色),以便它们易于识别。

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

回答

2

提取标签及其链接是一回事;你似乎已经解决了这个问题。

要识别并突出显示标签,您需要语法规则。如果您的标签样式遵循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 

如果你将它放入一个自定义~/.vim/syntax/txt.vim语法脚本(与txt...更换help...后最佳),你可以用:setf txt激活你的语法(甚至自动执行此通过自定义文件类型检测)。

+1

':set syntax = help'可能更简单。您可以使用自动命令或模式自动执行此操作。请参阅':help'syntax'',':help autocommand'和':help modeline'。 – benjifisher

+0

这是更简单的benjifisher。不过,很高兴看到大局。谢谢你的帮助! – Ezea

+0

帮助语法也定义了许多其他突出显示。只要你不介意,这确实更容易,但你仍然坚持它存在的整个语法。 –

0

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

如果您打算仅在您的文本文件之间创建链接,则可以尝试使用一些插件来实现此目的;我建议使用the vimwiki plugin - 它包括几个用于创建/管理链接,文本文件列表和标题的映射,它们通过其中包含的语法文件进行正确突出显示。

一些替代方案是listed on vim.org,如utl.vim : Univeral Text Linking,Txtfmt (The Vim Highlighter)TxtBrowser : Browse plain text easily

+0

我的意图不是将我的文件与vim文档混合在一起,而是创建一个类似的样式,其中标记的项目只是突出显示为蓝色。正如我所说的,我已经创建了没有问题的标签,并且可以使用Ctrl-和T来通过它们。我希望如果没有插件,就可以在文档中找到它。 – Ezea