我喜欢 vim{和}动作,它们跳到下一个/上一个空行。
我最近更多地使用折叠,虽然这是一个很棒的功能,但它在{和}动作方面并没有达到我的预期。如果折叠中有空行,则{和}将落在那里,从而打开折叠。
有没有办法重新映射{并}完全跳过折叠?也就是说,即使有一个折叠内空行,{而}不会停在那里,但将寻求在未来展开的空行?这将更符合我的期望。
您必须block从默认值中删除'foldopen':
set foldopen-=block
Run Code Online (Sandbox Code Playgroud)
见:help 'foldopen'。
你可以试试这些映射
nnoremap <expr> } foldclosed(search('^$', 'Wn')) == -1 ? "}" : "}j}"
nnoremap <expr> { foldclosed(search('^$', 'Wnb')) == -1 ? "{" : "{k{"
Run Code Online (Sandbox Code Playgroud)