2012-02-06 6 views
8

vimで異なるインデントレベルを強調したいので、大きなコードブロックをより簡単に特定できました。私はいくつかの合理的な大きなネストされたfor/while/with/tryブロックを持っていて、カーソルがあるまでのブロック数を知ることは難しいです。vimでのPythonコードブロックの強調

タブをハイライト表示する方法はありますか?

これは私が考えているものです:

*は特別な背景色になり
try: 
* while True: 
* * for foo in bar: 
* * * do() 
* if something: 
* * done() 
except bla: 
* exit() 

また、インデントレベルを特定する他の方法で解決します。

+1

スニークなコメント:おそらく、エディタではなくコードを修正することができます。 ;-) +1興味深い質問です。私はこれが実際にどのように見えるかを知りたい。 –

答えて

8

Indent Guides vimプラグインはまさにこのような強調表示です。私はlistcharsオプション(Ackarが指摘した通り)と一緒に使用します。

+0

ああ、そのプラグインはかなりクールです。それは私が予想したよりも目立たないほどです。 –

+0

@Kristo私はあまりにもそれを使用し、好きですが、vimは空白を強調表示することができないので、空白のために失敗します – puk

3

listcharsオプションを使用して、特定の文字を表示できます(:help listcharsを参照)。あなたが使用することができ、タブを表示したい場合たとえば

:set listchars=tab:*\  " Be careful : there is a space after the backslash 
:set list 

ます。またSpecialKeyグループのためhighlightプロパティを使用して強調表示する色を変更することができます。

あなたは、端末でVimを使用する場合:

:highlight SpecialKey ctermfg=Cyan 

は、より多くの情報のため:help highlightを参照してください。

:runtime syntax/colortest.vimをチェックして、使用可能なすべての色を確認することもできます。

+0

また、どのようにしてリストチャーの強調表示色を設定できるかについても言及する必要があります。 –

+0

回答が編集されました。ありがとうございました:) – Ackar

+1

これは*正確に*私が求めたものですが、それは私のためには機能しません。私は 'expandtab'オプションを使用していたので、スクリプトにはタブ文字はなく、スペースだけがあります。私はlist [chars]、すばらしいヒントについて知らなかった。 –

関連する問題