2013-08-16 13 views
8

私はvimの隠蔽機能を使用して、私のlatexファイルをいくらか読みやすい形式で表示しています。vimの折り畳み機能と隠蔽機能の組み合わせ

さらに、私はvim-latexプラグインを使用しています。このプラグインは数学環境用の折り畳みを作成し、ラベルを表示し、環境の内容の始めを表示します。

例:プレーンラテックスコードで数学の環境は次のようになります :

\begin{align} 
    \xi = \cos \alpha 
    \label{eqn:test} 
\end{align} 

Vimのコンシール機能を使用して、それが

\begin{align} 
    ξ = \cos α 
    \label{eqn:test} 
\end{align} 
Vimは今倍を作成

として表示され、それを次のように表示されます。

+-- 4 lines: align (eqn:test): \xi = \cos \alpha 

私の質問は今すぐ: vimにフォールドの説明に隠蔽を適用させることは可能ですか?以下のようになりますか?

+-- 4 lines: align (eqn:test): ξ = \cos α 
+1

+1は隠蔽を表示するためには、全く新しいです! – Jonatan

+0

この質問の前に秘密について聞いたことはありません!ありがとう! – imslavko

+1

@Jonatan私たちは文法を隠蔽し、ハイライトを隠すのを見るたびに ':h何か 'と言います。 vim help ftは隠蔽文法を持っているからです。例えば。 ':h something'、次に' V'、 'jjjjjj ...'を隠すことができるようになります。 (例えば、リンク)vim help bufferには 'cocu = nc'と' cole = 2'があります。 – Kent

答えて

2
一般に

、foldtextと隠す組み合わせることができます。しかし、これは、秘匿ロジックに従って、自分で実装する必要があります。

オプションfoldtextは、折り畳みが閉じられたときに表示するテキストを定義します。オプションの値はvimの関数または式になります。元のテキストをかなり修正することができました。

隠蔽。通常は次のようになります:Xパターンが一致したときに、Xの代わりにYを表示するように関数を書いて、折り返しの行を読み、隠蔽文法パターンをチェックして、もし行が一致すればTrueを返し、 cchar。この関数は、foldtextオプションの値として設定します。もちろん、特定のファイルタイプのみです。

ハイライト表示の場合、これらの2つのグループを折り畳みに使用できます。

Folded  line used for closed folds 
FoldColumn 'foldcolumn' 

これは私が考えることです。誰かがそれを行うためのより良い/より簡単な方法を持つことができたら、私は学ぶことがうれしいです。たとえば、私が知らないビルドイン機能がこの状況で役立つかもしれません。

+0

情報ありがとうございます。基本的には、ラテックススイートに付属する折り畳み機能のフィルタを作成し、それを新しい折り畳みとして使用する必要があります。関数によって返された文字列にvimの構文マッチングを使用する方法があるのでしょうか、それとも自分自身の全体を実装する必要がありますか? –

+0

@ SimonL。私が答えに書いたように。 AFAIK私はヴィムが箱からのものを提供するとは思わない。 – Kent

関連する問題