ファイルを開くときにデフォルトを展開するように設定するにはどうすればよいですか?
質問
私の中で .vimrc
私は置いた set foldmethod=syntax
ただし、メソッドなどの折りたたみを有効にするために、ファイルを開くたびにすべてが折りたたまれているデフォルトは気に入らない。有効にする方法はありますか foldmethod
, 、まだファイルを開くと展開されていますか?
解決
set foldlevel=99
折り畳みに使用される方法に関係なく、すべての折り目を開く必要があります。と foldlevel=0
すべて折りたたまれている、 foldlevel=1
ソモのみ、...より多くの数が少ない折り目が少なくなります。
他のヒント
あなたはあなたにこれを置くことができます .vimrc
:
au BufRead * normal zR
自動コマンドを宣言します(au
)、バッファが読み取られたときにトリガーされます(BufRead
)、すべてのファイルの一致(*
)および実行します zR
(すべてのfoldsを開き)通常モードでコマンド。
set nofoldenable
これをあなたに追加します .vimrc
ファイルを開くと一時的に折りたたみが無効になりますが、折り畳みはで復元できます zc
の .vimrc
のautocmdを追加します BufWinEnter
このように自動的にすべての折り目を開くには:
autocmd BufWinEnter * silent! :%foldopen!
それはVIMに、それを実行するように指示します silent :%foldopen!
開いた後 BunWinEnter
イベント(参照 :h BufWinEnter
)。 silent %foldopen!
実行します foldopen
のおかげでバッファー全体に %
そして、すべての折り目を再帰的に開きます !
. 。最終的なエラーメッセージは抑制されます silent
. 。 (次のようなエラーメッセージを取得できます E490: No fold found
バッファに実際にまだ折り目が含まれていない場合)
注:使用できます BufRead
それ以外の BufWinEnter
しかし、ファイルに、このAutoCMDをオーバーライドする折りたたみを可能にするモデリンがある場合。つまり BufRead
モデリンが処理される前にAutoCMDが実行されます BufWinEnter
それらを実行します。後でもっと便利だと思います
表示されたらすぐに表示する方法が必要な場合は、使用できます set foldlevelstart=99
多くの答えが説明されています。
しかし、それらが展開されているのを見たいだけなら、あなたはただ押すことができます zi
そして、それはすべてを展開します。別、 zi
それらを閉じます。
あなたは付け加えられます
set foldlevelstart=99
.vimrcファイルに、すべての折り目を開いた新しいファイルの編集を開始します。
キーにマップして有効にすることができます。例えば、
nmap ,f :set foldmethod=syntax<CR>
その後、通常のモードで「、f」キーの組み合わせを押します