多くの行が折り畳まれていて、これらの折り畳みの上に新しいコードブロックなどを書いている状況によく遭遇します。「{」を入力するとすぐに、下のすべての折り畳みが開きます。vim がこれを行うのは正当なことですが、すべての折り畳みを再度閉じるのはイライラします。この状況を回避する方法はありますか?
1342 次
1 に答える
21
同じ問題があり、この vimtipを使用して解決できました。
ヒントの説明の一部抜粋:
マーカー、構文、式の折りたたみなど、何らかの自動折りたたみ方法を使用している場合、折りたたみを開始するテキストを挿入すると、挿入ポイントの下にあるすべての折りたたみが自動的に開きます。これは非常に面倒です。これを回避するには、挿入モードに入るときは一時的に手動の折り方に切り替え、終了するときは元に戻すことができます。
秘訣は、編集の開始時にfoldmethodtoを設定することです。manual
autocmd InsertEnter * if !exists('w:last_fdm') | let w:last_fdm=&foldmethod | setlocal foldmethod=manual | endif
編集が完了したら、foldmethod元の値にリセットします。
autocmd InsertLeave,WinLeave * if exists('w:last_fdm') | let &l:foldmethod=w:last_fdm | unlet w:last_fdm | endif
于 2011-01-11T06:33:02.750 に答える