vim hit";输入“;在一封特定的信上

vim hit";输入“;在一封特定的信上,vim,replace,Vim,Replace,我想在文件中的箭头符号上按enter键。基本上,在按enter键后,箭头键将折叠以显示更多文本。我有这么多这样的箭头键 ▾ $wp_filter = (array [365]) \ ▸ $wp_filter['pre_term_name'] = (array [2]) 完全崩溃后 ▾ $wp_filter = (array [365]) \ ▾ $wp_filter['pre_term_name'] = (array [2]) \ ▾ $wp_filter

我想在文件中的箭头符号上按enter键。基本上,在按enter键后,箭头键将折叠以显示更多文本。我有这么多这样的箭头键

▾ $wp_filter = (array [365])
  \
   ▸ $wp_filter['pre_term_name'] = (array [2])
完全崩溃后

▾ $wp_filter = (array [365])
  \
   ▾ $wp_filter['pre_term_name'] = (array [2])
    \
     ▾ $wp_filter['pre_term_name'][10] = (array [2])
      \
       ▾ $wp_filter['pre_term_name'][10]['sanitize_text_field'] = (array [2])
        \
         ⬦ $wp_filter['pre_term_name'][10]['sanitize_text_field']['function'] = (string [19]) `sanitize_text_field`
我正在努力

:%s/▸/\r/g
它不会折叠文本和箭头断开到下一行后的文本

▾ $wp_filter = (array [365])
  \

 $wp_filter['pre_term_name'] = (array [2])
我也试着

:%s/▸/▸\r/g
它在箭头标记后断线

▾ $wp_filter = (array [365])
  \
   ▸
 $wp_filter['pre_term_name'] = (array [2])
看到或

特别是:
za
切换一个折叠级别,
za
切换所有级别。您需要在节点上才能使其工作


要打开文件中的所有折叠:
zR
(并且
zM
将关闭所有折叠)(当然这里不需要在节点上,因为它作用于所有折叠)

实际上,这是从vims vdebug的debuggerwatch窗口获得的。我同时打了za和za。上面写着E490:找不到折叠只是为了防止vdebug使用折叠(我不知道vdebug…),请尝试
zR
打开所有折叠,然后
zM
关闭所有折叠。如果vdebug使用了其他东西,我会让其他了解vdebug的人帮助您(但您应该在问题中添加重要的上下文信息!)类似于vdebug的答案:我认为这就是答案。我还在努力。我用了
:g/▸/exe“normal\”
它正在工作。但它只适用于一种情况▸. 我必须多次运行该命令。是否可能重复运行这是令人惊讶的,因为
:g
的默认范围是整个文件,因此它应该在与模式匹配的所有行中执行(
/▸/在您的命令上)。尝试通过分别测试命令的每个部分来隔离问题:
:g/▸/-这应打印与图案匹配的所有行;将vdebug缓冲区的内容复制到常规缓冲区,然后尝试
:g/\S/normal!Aa
-这应该在每个非空行后面加上“a”。我不知道vdebug,但可能问题是当执行
:g
时,只有一个箭头可以按enter键。当点击此箭头时,它将展开,然后显示两个新箭头,这两个箭头将展开为更多箭头。如果是这种情况,您可以将上述命令包装在
for
语句中(请参阅
:help:for
)并运行一个较大的数字,或者使用一些停止条件——例如,检查在
期间该缓冲区上的行数是否在
内停止更改。