【问题标题】:Configure Vim to always open first fold only将 Vim 配置为始终只打开第一个折叠
【发布时间】:2015-01-04 16:46:20
【问题描述】:

是否可以将 Vim 配置为始终只在给定文件中打开第一个折叠(并关闭其余文件)?

我最好设置 Vim 来为特定文件执行此操作,但一般设置就足够了。

【问题讨论】:

    标签: vim folding


    【解决方案1】:

    如果您指的是折叠的第一个级别,它由'foldlevel' 选项控制,'foldlevelstart' 控制它的初始值。所以:set foldlevelstart=1 会这样做。


    如果你指的是文件中的第一个折叠,你可以通过一系列命令来做到这一点:

    • zM 关闭所有折叠
    • ggzj 进入缓冲区的第一个折叠
    • zo / zO 打开光标下的一个/所有级别。

    要自动应用,请使用:

    :autocmd BufWinEnter * normal! zMggzjzo
    

    【讨论】:

    • 谢谢。我的意思是首先折叠一个文件。是否可以为单个文件(而不是文件类型)配置它?
    • 只需指定文件的路径,而不是:autocmd中的*
    • 这样我每次都必须修改我的.vimrc。我可以将它添加到我想要更改其行为的文件中吗(与我的做法相同:vim:set ft=txt)?
    • 不,模式行只允许设置内置选项。不过,您可以使用“本地 vimrc”插件之一为特定目录设置它。
    • 那么您的 autocmd 可以在执行之前检查文件内容中的某个关键字字符串。
    猜你喜欢
    • 2012-06-13
    • 1970-01-01
    • 2012-08-11
    • 1970-01-01
    • 2020-01-21
    • 1970-01-01
    • 2019-05-07
    • 2011-12-01
    • 1970-01-01
    相关资源
    最近更新 更多