打开文件时,如何将默认值设置为展开?
题
在我的 .vimrc
我放了 set foldmethod=syntax
但是,要折叠方法等。但是,我不喜欢每次打开文件时,整个内容都会折叠。有没有办法启用 foldmethod
, ,但是当我打开文件时,文件是否已展开?
解决方案
set foldlevel=99
无论折叠方法如何,都应打开所有折叠。和 foldlevel=0
全部折叠, foldlevel=1
只有躯体,...较高的数字会关闭更少的折叠。
其他提示
你可以把它放在你的 .vimrc
:
au BufRead * normal zR
它声明一个自动命令(au
),读取缓冲区时触发(BufRead
),匹配所有文件(*
)并执行 zR
(打开所有折叠)在正常模式下命令。
set nofoldenable
将其添加到您的 .vimrc
打开文件时会暂时禁用折叠 zc
在 .vimrc
为 BufWinEnter
这样可以自动打开所有折叠:
autocmd BufWinEnter * silent! :%foldopen!
告诉VIM执行 silent :%foldopen!
打开后 BunWinEnter
事件(请参阅 :h BufWinEnter
)。这 silent %foldopen!
将执行 foldopen
整个缓冲区都多亏了 %
并将因为 !
. 。任何最终的错误消息都将被抑制 silent
. 。 (您可能会收到错误消息 E490: No fold found
如果缓冲区实际上还没有任何折叠)
注意:您可以使用 BufRead
代替 BufWinEnter
但是,如果文件具有模型,可以启用将覆盖此autoCMD的折叠。我是说 BufRead
AutoCMD在处理Modeline之前运行,并且 BufWinEnter
会在之后运行。我发现以后更有用
如果您想在打开后立即展开显示它,则可以使用 set foldlevelstart=99
正如许多答案所解释的那样。
但是,如果您只想看到它们展开,则可以按 zi
它将展开一切。其他, zi
会关闭他们。
你可以加
set foldlevelstart=99
到您的.vimrc文件,它将开始编辑所有折叠打开的新文件。
您可以将其映射到键以启用它。例如,
nmap ,f :set foldmethod=syntax<CR>
然后在正常模式下达到“,f”键组合