在vim中“折叠”或“隐藏”文本

时间:2014-02-07 19:45:00

标签: vim terminal

这是一个完整的黑暗镜头,我不确定它的可行性,但如果它以某种方式可用,这个功能对我来说会很棒。

像sublimetext这样的文本编辑器有一个选项,你可以“折叠”你没有直接使用或不关心的代码块。例如,想象一个像这样的EJS模板(显然只是为了视觉效果):

<div class="container">
  <FORM name="form">
    <table>
      <tr>
        <% $.each(something, function(k,v) { %>
          <td>
            <input type="<%=v.type%>" name="<%=v.name%>"> <%=v.attribute%>
          </td>
        <% } %>
      </tr>
    </table>
  </FORM>
</div>

现在让我说我正在使用这个并完成了FORM,所以我不希望它在我的HTML中,所以我可以更容易地关注其他事情,比如布局。 EG,我希望它看起来像这样:

<div class="container">
  <FORM name="form"> ... </FORM>
</div>

在vim中这样的事情会有可能吗?

2 个答案:

答案 0 :(得分:3)

是的,当然。

您应该输入:h 'folds'以获取折叠方面的帮助。

简而言之:

zf创建折叠(您可以预先选择具有可视模式的文本或使用动作)
zo打开光标下的折叠 zc关闭它

大多数折叠命令都以z开头(助记符是Z看起来像一张纸)

我建议在vim上查看这些教程: http://derekwyatt.org/vim/tutorials/

答案 1 :(得分:2)

尝试突出显示要折叠然后使用的代码块 za。再次使用za展开代码块。

有关在Vim中折叠的更多信息,请参阅:h folding

作为特定示例的附注,您可以使用插件MatchTagAlways快速突出显示html标记周围的代码。