如何在打开文件时设置默认展开?
在我的.vimrc
我已经set foldmethod=syntax
来启用折叠的方法等。但是,我不喜欢默认情况下,每次我打开一个文件,整个事情是折叠的。 有没有一种方法来启用foldmethod
,但打开文件时却打开了文件?
set foldlevel=99
应该打开所有的折叠,无论用于折叠的方法。 foldlevel=0
全部折叠, foldlevel=1
只有一些,…更高的数字将closures更less的折叠。
你可以把它放在你的.vimrc
: au BufRead * normal zR
它声明一个自动命令( au
),在读取缓冲区( BufRead
)时触发,匹配所有文件( *
)并在正常模式下执行zR
(打开所有折叠)命令。
set nofoldenable
把这个添加到你的.vimrc
会暂时禁止折叠,但是折叠仍然可以用zc
来恢复
在.vimrc
为BufWinEnter
添加一个autocmd来自动打开所有的折叠,如下所示:
autocmd BufWinEnter * silent! :%foldopen!
这告诉vim执行silent :%foldopen!
打开BunWinEnter
事件后(参见:h BufWinEnter
)。 silent %foldopen!
将在整个缓冲区执行foldopen
感谢%
并会打开所有折叠recursion,因为!
。 任何最终的错误信息将被silent
压制。 (你可能会得到如E490: No fold found
错误信息E490: No fold found
如果缓冲区实际上不包含任何折叠,则不会E490: No fold found
折叠)
注意:您可以使用BufRead
而不是BufWinEnter
但是如果文件有一个模式行,它将启用将覆盖此autocmd的折叠。 我的意思是BufRead
在处理模式行之前运行,而BufWinEnter
将在之后运行它们。 我发现后者更有用
你可以加
set foldlevelstart=99
到您的.vimrc文件,它将开始编辑所有折叠打开的新文件。
如果你想要一种方式来打开它展示展开,你可以使用set foldlevelstart=99
作为很多解释的答案。
但是,如果你只是想看到他们展开,你可以按zi
,它会展现一切。 另外, zi
会把他们closures。
您可以将其映射到键以启用它。 例如,
nmap ,f :set foldmethod=syntax<CR>
然后在正常模式下按下“,f”组合键