如何在vim中隐藏单词?

kev*_*kev 5 vim

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

[[link]]
Run Code Online (Sandbox Code Playgroud)

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

>[[http://www.google.com/]]<
Run Code Online (Sandbox Code Playgroud)

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

>http://www.google.com/<
Run Code Online (Sandbox Code Playgroud)

我注意到Vim的帮助手册此行为(:help vim)*vim:*(*s为无形的,直到I型V).

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

Ran*_*ris 10

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

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

set conceallevel=2
syntax match Todo /bar/ conceal
Run Code Online (Sandbox Code Playgroud)

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

有关更多信息,请参阅:help conceal:help conceallevel.


Hab*_*abi 5

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

隐藏文本Vim 7.3引入了"隐藏"论点.隐藏文本是一个定义明确的Vim功能.这不是一个肮脏的把戏.看到

 :help :syn-conceal 
 :help 'conceallevel' 
 :help 'concealcursor'
Run Code Online (Sandbox Code Playgroud)

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

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

哈比