如何激活vim折叠标记?

kfm*_*e04 5 vim configuration folding

我继承了一些基于vim的折叠标记的c ++代码,如下所示:

// CONSTRUCTORS/DESTRUCTORS /*{{{*/
Foo::Foo()
{
}
Foo::~Foo()
{
}
/*}}}*/
Run Code Online (Sandbox Code Playgroud)

我需要在.vimrc中添加什么才能启用zm和space-bar等折叠切换?

使用我当前的设置,当我点击空格键或zm时,vim什么都不做.

Aid*_*les 8

折叠的默认键绑定是zazm(虽然zm我认为只关闭折叠,同时za切换它们),因此您应该将以下行添加到.vimrc:

set foldmethod=marker启用由标记触发的折叠({{{代码中的内容)

nnoremap <space> za能够space在正常模式下触发折叠.

但!如果您不确定是否要在其他文件中启用折叠,可以使用autocmds,如下所示:

autocmd FileType vim,c++,txt setlocal foldmethod=marker这将确保折叠仅适用于vim,c ++和文本文件.

顺便说一下,你发布的内容只是vim大师Steve Losh在本文中提到的一种折叠.阅读它以了解有关折叠的更多信息.这太酷了.