Vim折叠会自动在代码中引入奇怪的注释

时间:2015-11-10 11:48:12

标签: vim vi

我注意到当我尝试折叠时,vim会在代码中引入奇怪的注释。

以此代码为例:

<div class="ev_i_ctg">
    <!-- Category Icon -->
    <div class="ev_ic_ty FOA-bannerimage"></div>
    <!-- Number of attachments -->
    <div class="ev_ic_n">2</div>
</div>

当我尝试使用命令zfat折叠外部标记时,它会相应地折叠,但也会添加额外的内容,如下面所示的代码:

<div class="ev_i_ctg"><!--{-->
    <!-- Category Icon -->
    <div class="ev_ic_ty FOA-bannerimage"></div>
    <!-- Number of attachments -->
    <div class="ev_ic_n">2</div>
</div><!--}-->

问题似乎随机发生,没有任何模式(或者,至少,我找不到任何模式)。为什么会这样?

1 个答案:

答案 0 :(得分:2)

第一步是g=lis1。这解释了

  

这仅适用于“折叠方式”的情况。是&#34;手册&#34;或&#34;标记&#34;。   另见| fold-create-marker |。

之后,我们得到了这样的解释:

  

Vim会附加开始和结束标记,如下所示   &#39; foldmarker&#39 ;.标记附加到行的末尾。   &#39; commentstring&#39;如果它不是空的,则使用它。

因此,您已配置基于标记的折叠,您的HTML(-dialect)文件类型将:help zf设置为'commentstring',Vim将插入该文件。

补救措施:切换到另一种折叠方法;通常,基于语法的折叠与HTML一起使用。在<!--%s-->中,输入:

~/.vim/after/ftplugin/html.vim