2011-06-28 11 views
6

https://softwareengineering.stackexchange.com/questions/87077/how-can-a-code-editor-effectively-hint-at-code-nesting-level-without-using-inde 私はこの質問に遭遇し、Vimがプラグインと同様のことをする可能性があると考えました。Vimの別の字下げ表示

私はインデントレベルがa記号(GUIのアイコン、強調表示されたテキスト)で示されると信じています。私が分からない部分は、インデントなしの線を表示しています。誰でも知っていますか、それは可能でしょうか、そして/またはあなたがそれをやる方法ですか?

この質問は、この方法でインデントレベルを表示することが望ましいかどうかではありません。 Vimでそれを達成する方法。

答えて

3

7.3の新機能であるconcealの機能を使用できます。ここで

は、記事が(スペースのため、代わりにタブを占めることは些細な追加になります)記述されたおよそ何行う関数である:あなたがconcealを使用する可能性があります要求しているものに近い

function! IndentationHeatMap() 
    set conceallevel=1 
    for i in range(1,9) 
     let indentation = repeat(" ", &sts * i) 
     exe 'syntax match NonText "^' . indentation . '" conceal cchar=' . i 
    endfor 
endfunction 

ソリューション

syntax match NonText "^\s\+" conceal

すべて先頭の空白を非表示にした後、指標のBASを提供するために、signsを使用しますカスタム計算については

注:これらの構文コマンドのNonTextは任意のハイライトグループです。

+0

これは完璧です。前に秘匿機能について知りませんでした。 –

0

Indent GuidesIndentHL 両方ともスクリーンショットがあります。

+1

これは私が複製したいのと反対です。私はファイル自体に字下げを表示しないようにしようとしています。むしろすべてのテキストを一番左の列に沿って並べてください。次に、vimの "signs"カラムに、インデントレベルの固定幅インジケータを使用します。 –

関連する問題