web-dev-qa-db-ja.com

vimの折りたたみに関する混乱-無効にする方法

  1. ファイルを開くと、次のようになります。 enter image description here またはこれでさえ enter image description here
  2. すべてのフォールドを開くと、別のバッファーに移動して戻ったときに再び閉じられます。
  3. これを使用するには、バッファを開くたびにzRを適用する必要があります。

これらは.vimrc

set foldlevelstart=99
set foldlevel=99

折りたたみを無効にする方法、または少なくとも開いているバッファを閉じないように別のバッファへのナビゲーションを作成する方法を教えてください。

104
lyuba

あなたは一人じゃない。

set nofoldenable    " disable folding
191
zeuxcg

オンザフライで折りたたみを無効(および有効)にする最も簡単な方法は、ziです。

ziは、'foldenable'と同様に、 :set foldenable! を切り替える通常モードのコマンドです。

記憶法:「foldinvert」。 :h zi を参照してください。

49
glts

set nofoldenableを〜/ .vimrcに追加して、折りたたみを無効にします。

44
meagar

ここに記事があります これは、折り畳みがクールな理由を簡潔かつ簡潔に要約しています。 1つの理由は、折り畳むことで非常に大きなファイルを簡単にナビゲートできるからです。

折り畳みを有効のままにしておき、常にすべての折り畳みを開いたままにする場合は、vim wiki tells how。 興味のある方法はおそらくオートコマンドの方法でしょう。

" Tweak the event and filetypes matched to your liking. 
" Note, Perl automatically sets foldmethod in the syntax file
autocmd Syntax c,cpp,vim,xml,html,xhtml setlocal foldmethod=syntax
autocmd Syntax c,cpp,vim,xml,html,xhtml,Perl normal zR

また、使用する言語のカスタム折りたたみ方法を検索することをお勧めします。 「vim <ここに言語を挿入>折り畳み」をググリングするだけで、いくつかのオプションが表示されます。好きな折りたたみ方法が見つかるまで、さまざまなオプションを試してみてください。

16
cledoux

同じ問題が発生したため、.vimrcファイルにこの行を追加しました。

autocmd FileType * exe "normal zR"

このコマンドは、ファイルを自動的に開くたびに実行されます。そのため、バグは表示されず、折りたたみ機能も失われません)

4
zinovyev

もう1つ追加するだけで、議論のポイントまで完全になります。

コードの折りたたみを有効にするには:

:set foldenableまたは要するに、:set fen

コードの折りたたみを無効にするには:

:set nofoldenableまたは要するに、:set nofen

コード折りたたみを有効にすると、zf,zo etcの設定に応じて、希望する:set fdm=xxxxなどのすべてのコマンドを使用できます。通常の値はexpr,syntax,manual etc.です。

2

Vimは、特にvimdiffを使用している場合、折りたたみを無効にするのを驚くほど難しくします。
上記の投稿されたソリューションのどれも私のために機能しませんでしたが、これは機能しました(〜/ .vimrcに追加):

au WinEnter * set nofen
au WinLeave * set nofen
1
Magnus

関連する質問に答えている場合は申し訳ありませんが、次のような方法で折り畳みをオフにして2つのファイルを表示すると便利です:

vim "+set nofen" -O file1 file2
1

foldlevel=20foldlevelstart=20と私はfoldmethod=syntax。 vimで正しい折りたたみを行うのに役立ちます。

set nofoldenable折りたたみを無効にしますが、時々必要です

vim.wikia

1
idej