1- *fold.txt* For Vim バージョン 9.0. Last change: 2022 Jan 22
1+ *fold.txt* For Vim バージョン 9.0. Last change: 2022 Oct 01
22
33
44 VIMリファレンスマニュアル by Bram Moolenaar
7272クリプトとして実行される。例:
7373タブで始まる一連の行範囲を1つの折り畳みにまとめる: >
7474 :set foldexpr=getline(v:lnum)[0]==\"\\t\"
75- 折り畳みレベルを計算するのに Vim script の関数を呼び出す: >
76- :set foldexpr=MyFoldLevel(v:lnum)
7775 空行で仕切られた「段落」を折り畳みとする: >
7876 :set foldexpr=getline(v:lnum)=~'^\\s*$'&&getline(v:lnum+1)=~'\\S'?'<1':1
7977 同じ事(「段落」を折り畳みに)をする別の表現: >
8078 :set foldexpr=getline(v:lnum-1)=~'^\\s*$'&&getline(v:lnum)=~'\\S'?'>1':1
8179
80+ 最も効果的なのはコンパイル済み関数を引数なしで呼ぶ: >
81+ :set foldexpr=MyFoldLevel()
82+ 関数は v:lnum を使用しなくてはいけない。| expr-option-function | を参照。
83+
8284バックスラッシュ(日本では \ 記号)が ":set" の流儀で、通常とは異なるキャラクタ
8385(空白文字、バックスラッシュ、ダブルクォート、その他、詳細は| option-backslash |
8486参照)をエスケープしていることに注意。
@@ -499,7 +501,7 @@ zk カーソルより上方の折り畳みへ移動する。閉じられた折
499501
500502 これは折り畳みの最初の1行を、"/*" と "*/" を追加し "{{{" を削除して表示する。
501503多めのバックスラッシュ(\ 記号)はある文字が ":set" コマンドに解釈されてしまうの
502- を避けるために使用されている。これは以下のように関数を定義するとより簡単になる :
504+ を避けるために使用されている。これは以下のように関数を定義すると最も簡単になる :
503505>
504506
505507 :set foldtext=MyFoldText()
@@ -509,6 +511,9 @@ zk カーソルより上方の折り畳みへ移動する。閉じられた折
509511 : return v:folddashes .. sub
510512 :endfunction
511513
514+ 引数なしでの関数呼び出しを使用する利点は高速なことである、
515+ | expr-option-function | を参照のこと。
516+
512517'foldtext' は| sandbox | 環境下で実行評価される。現在のウィンドウはそのラインの属
513518するウィンドウへ設定される。コンテキストはオプションを最後に設定したスクリプト
514519のものが設定される。
0 commit comments