5

vimwiki中,我可以输入这样的链接:

[[link]]

当我将光标放在线上时,[[]]可见:

>[[http://www.google.com/]]<

当光标移开时,[[]]是不可见的:

>http://www.google.com/<

我在 vim 的帮助手册(:help vim)中注意到了这种行为:(*vim:*s*在我输入之前是不可见的V)。

我无法弄清楚它是如何工作的。谢谢你的帮助。

4

2 回答 2

10

这是在 vim 7.3 中添加的称为“隐藏”的功能(如果我没记错的话)。举个简单的例子,试试这个。

打开一个缓冲区并键入三行,中间一行是“foobarbaz”。然后输入以下 ex 命令:

set conceallevel=2
syntax match Todo /bar/ conceal

当您的光标位于“foobarbaz”行时,“bar”将可见(如果您启用了语法突出显示,则使用 Todo 突出显示组突出显示)。一旦你下线,“bar”就会消失。

有关详细信息,请参阅:help conceal:help conceallevel

于 2012-04-30T13:31:17.827 回答
5

我认为隐藏文本可能是一个非常有用的功能。考虑文本折叠或链接的可读性。

为了隐藏文本,Vim 7.3 引入了“隐藏”参数。隐藏文本是一个定义明确的 Vim 特性。这不是一个肮脏的把戏。看

 :help :syn-conceal 
 :help 'conceallevel' 
 :help 'concealcursor'

请注意,隐藏仅适用于语法区域,不适用于匹配项。

我没有隐藏的经验,所以我不能提供一个开箱即用的例子。

哈比

于 2012-04-30T13:29:08.330 回答