如何在没有折叠内容的情况下猛拉代码块?

Yej*_*ing 4 vim fold yank

我写了一篇博客来描述 vim 的折叠。所以我需要这样的代码。

+-- 15 lines: set_up_socket_dir () {--------------------------------------------
Run Code Online (Sandbox Code Playgroud)

但是当我拉动这条线时,实际上拉动了折叠的代码。我怎样才能从 vim 得到这条线。

Ken*_*ent 5

你可能想看看有一个 vim 函数:

:h foldclosed(
Run Code Online (Sandbox Code Playgroud)

您可以:g使用此函数编写命令行:

:g/^/if line('.')==foldclosed('.') || foldclosed('.')==-1|y Z |endif
Run Code Online (Sandbox Code Playgroud)

所以你的工作流程将是:

qzq 清除寄存器z

...visual select lines...

'<,'>g/^/if line('.')==foldclosed('.') || foldclosed('.')==-1|y Z |endif

"zp粘贴

如果您经常使用它,您可以创建一个映射或命令。

它的工作原理如下:

在此输入图像描述