2009-05-23 15 views

答えて

2

折り畳まれたブロックの最初の行、または折り畳みが閉じられたときに表示される文字列を編集しますか?それが前者の場合、私はあなたが折り畳みを開かずにそれを行うことができるとは思わない。後者の場合は、foldtextオプションをご覧ください。それはどんな表現でもかまいません。この式は、この文字列を作成するために評価されます。ドキュメントから

'foldtext' を は、式を指定する文字列オプションです。この の式は、閉じた折り畳みに対して表示される のテキストを得るために評価されます。 例:

:set foldtext=v:folddashes.substitute(getline(v:foldstart),'/\\*\\\|\\*/\\\|{{{\\d\\=','','g') 

これは、折り畳みの最初の行を示し、 "/ " と 、 " /" 及び "{{{" を除去。 いくつかの文字が ":set"コマンドによって解釈されることを避けるために、バックスラッシュの使用に注意してください。それは に簡単です関数を定義して、それを呼び出す:代替を

:set foldtext=MyFoldText() 
:function MyFoldText() 
: let line = getline(v:foldstart) 
: let sub = substitute(line, '/\*\|\*/\|{{{\d\=', '', 'g') 
: return v:folddashes . sub 
:endfunction 

marker折りたたみ方式を使用しています。折り畳みマーカーの前に任意の文字列を入力することができ、折り畳みが閉じられたときに文字列が表示されます。ドキュメントから

マーカー 開始と終了を折るテキストTELLインチこれにより、 に折り目を正確に指定することができます。この は、 に間違った行を含める危険性なしに、削除して 倍にすることができます。 'foldtext' オプションは通常、折り返し線の にマーカの前のテキスト が表示されるように設定されています。これにより、 に名前を付けることができます。

マーカーにレベルを含めることができます。一致するペアは に使用できます。 レベルを含めるほうが簡単です。 の終了マーカーを追加する必要はなく、 の一致しないマーカーペアの問題を避けることができます。例:

/* global variables {{{1 */ 
int varA, varB; 
+0

ので、答えは折り目を開くことなく、見出しの文字を編集することができないということです。 –

関連する問題