2011-01-25 15 views

答えて

126

構文に基づいて折り目があなたの.vimrcに次のようなものを追加できるようにするには:

set foldmethod=syntax 
set foldlevelstart=1 

let javaScript_fold=1   " JavaScript 
let perl_fold=1    " Perl 
let php_folding=1    " PHP 
let r_syntax_folding=1  " R 
let ruby_fold=1    " Ruby 
let sh_fold_enabled=1   " sh 
let vimsyn_folding='af'  " Vim script 
let xml_syntax_folding=1  " XML 

構文ベースの折り畳みは$ VIM /構文に配置されている言語の構文ファイルで定義されています。しかし、いくつかの言語では、構文ファイルに折り畳みルールが組み込まれていません。例えば、Python。これらの言語の場合は、折りたたんだhttp://vim.sf.netから何かをダウンロードする必要があります。それ以外の場合は、インデントに基づいて折り畳みを使用する必要があります。

は、折り目の6種類があります折り畳み式の

set foldmethod=indent 
set foldnestmax=2 

他の種類::これを行うには効果的に、あなたはおそらく、あなたの.vimrcファイルに以下を追加したくなるでしょう

manual   manually define folds 
indent   more indent means a higher fold level 
expr   specify an expression to define folds 
syntax   folds defined by syntax highlighting 
diff   folds for unchanged text 
marker   folds defined by markers in the text 

個人的に私だけ構文フォールドを使用します。通常は、メソッドを折りたたみ、すべてのインデントレベルを折りたたんではいけません。一貫性のないインデントや奇妙なフォーマットのレガシーコードを使用すると、インデントの折りたたみが困難または不可能になることがよくあります。ドキュメントにマークを付けるのは面倒で、Vimを使用しない人はドキュメントを編集するときにマークを保持しません。手動の折り畳みは、誰かがあなたのコードをソースコード内で編集し、すべての折り畳みが間違った場所に来るまで有効です。

もっと読み

  1. は異なる折り畳み方法の詳細を学ぶために:help fold-methodsを参照してください。
  2. フォールドを操作するキーボードコマンドについては、:help foldingを参照してください。
  3. 折りたたみのトピック全体については、:help foldsを参照してください。
+8

など、特定のファイルタイプのファイルタイプの検出と読み込みプラグインを有効にする必要があります。 –

+8

投稿した質問のうち1分以内にこれを本当に入力しましたか? +1は、明確さ、詳細、および速度のために! – Cascabel

+0

あなたの経験を共有してくれてありがとう! C++の折りたたみを有効にする方法が分かりませんか? –

3

JavaScript折りたたみは私にとっても機能しませんでした。私がの構文= javaScript(大文字のS)を設定したときに突然動いていました。

+1

hehe私はそれをして、突然の色のすべてが消えた、それは誰のためではないと思います。 :) 'vimバージョン8 '。 – ArchNoob

1

新しいバージョンのVimで折り畳みを有効にする方法が変更されました(私はvim 7.4を使用しています)。今度はファイル~/.vim/ftplugin/javascript.vim(linux上)を作成して、Eric Johnsonの答えで説明されているコード折りたたみ手順を追加する必要があります。 .vimrc

filetype plugin on