如何在vim中隐藏单词?

时间:2012-04-30 12:02:16

标签: vim

vimwiki中,我可以输入如下链接:

[[link]]

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

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

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

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

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

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

2 个答案:

答案 0 :(得分:10)

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

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

set conceallevel=2
syntax match Todo /bar/ conceal

当光标位于“foobarbaz”行时,“bar”将可见(如果您启用了语法高亮显示,则使用Todo高亮显示组突出显示)。离开线后,“bar”将消失。

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

答案 1 :(得分:5)

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

隐藏文字Vim 7.3引入了“隐藏”这个论点。隐藏文本是一个定义明确的Vim功能。这不是一个肮脏的把戏。 见

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

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

我没有隐藏经验,所以我无法提供开箱即用的例子。

哈比