In my .vimrc
I've put set foldmethod=syntax
to enable folding of methods etc. However, I don't like the default that everytime I open a file, the whole thing is folded. Is there a way to enable foldmethod
, yet have files unfolded when I open them?
问题:
回答1:
set foldlevel=99
should open all folds, regardless of method used for folding. With foldlevel=0
all folded, foldlevel=1
only somes, ... higher numbers will close fewer folds.
回答2:
You can put this in your .vimrc
:
au BufRead * normal zR
It declares an automatic command (au
), triggered when a buffer is read (BufRead
), matching all files (*
) and executes the zR
(opens all folds) command in normal mode.
回答3:
set nofoldenable
Adding this to your .vimrc
will temporarily disable folding when you open the file, but folds can still be restored with zc
回答4:
In .vimrc
add an autocmd for BufWinEnter
to open all folds automatically like this:
autocmd BufWinEnter * silent! :%foldopen!
That tell vim to execute the silent :%foldopen!
after opening BunWinEnter
event (see :h BufWinEnter
). The silent %foldopen!
will execute foldopen
on the whole buffer thanks to the %
and will open all folds recursively because of the !
. Any eventual error message will be suppressed by silent
. (You could get error messages like E490: No fold found
if the buffer actually didn't contain any fold yet)
Note: You could use BufRead
instead of BufWinEnter
but then if the file has a modeline that enables the folding that will override this autocmd. I mean BufRead
autocmds run before the modeline is processed and BufWinEnter
will run them after. I find the later to be more useful
回答5:
If you want a way to have it display unfolded as soon as it is opened, you can use set foldlevelstart=99
as a lot of answers explained.
But, if you just want to see them unfolded, you can just press zi
and it will unfold everything. Another, zi
will close them back.
回答6:
You can add
set foldlevelstart=99
to your .vimrc file, and it will start editing any new file with all folds open.
回答7:
You could map it to keys to enable it. For example,
nmap ,f :set foldmethod=syntax<CR>
Then while in normal mode hit the ",f" key combination