私が正しく理解していて、C コード (Python で生成された) の一致しない括弧を見ようとしている場合は、Dr Chip's Siteから rainbow.vim をインストールすることをお勧めします。これにより、インデントのレベルに応じて中括弧が異なる色で強調表示され、一致しない中括弧が要求どおりに赤で強調表示されます。スクリーンショットhttp://img294.imageshack.us/img294/8586/rainbow.jpg http://img294.imageshack.us/img294/8586/rainbow.jpg
インストールするには、ダウンロードrainbow.vim
して配置しvimfiles/after/syntax/c/
ます (存在しない場合は、このディレクトリを作成します)。
Linux では、これは次のようになります。~/.vim/after/syntax/c/rainbow.vim
Windows では、c:\vim\vimfiles\after\syntax\c\rainbow.vim
別の場所にある可能性があります。 を参照してください:help runtimepath
。
と競合するプラグインがいくつかあることに注意してください。ただしrainbow.vim
、それらを連携させるのはそれほど難しくありません。
Python コードで一致しない括弧を強調表示しようとしている場合は、rainbow.vim を変更して、C の代わりに Python 構文クラスターを使用することができますが、これはもう少し複雑ですが、次の行に沿って何かを使用できます。 (チップ博士のレインボー コードの修正版):
syn cluster pyParenGroup contains=pythonString,pythonRawString,pythonEscape,pythonNumber,pythonBuiltin,pythonException
syn match pyParenError display ')'
syn region pyParen transparent matchgroup=hlLevel0 start='(' end=')' contains=@pyParenGroup,pyParen1
syn region pyParen1 transparent matchgroup=hlLevel1 start='(' end=')' contains=@pyParenGroup,pyParen2
syn region pyParen2 transparent matchgroup=hlLevel2 start='(' end=')' contains=@pyParenGroup,pyParen3
syn region pyParen3 transparent matchgroup=hlLevel3 start='(' end=')' contains=@pyParenGroup,pyParen4
syn region pyParen4 transparent matchgroup=hlLevel4 start='(' end=')' contains=@pyParenGroup,pyParen5
syn region pyParen5 transparent matchgroup=hlLevel5 start='(' end=')' contains=@pyParenGroup,pyParen6
syn region pyParen6 transparent matchgroup=hlLevel6 start='(' end=')' contains=@pyParenGroup,pyParen7
syn region pyParen7 transparent matchgroup=hlLevel7 start='(' end=')' contains=@pyParenGroup,pyParen8
syn region pyParen8 transparent matchgroup=hlLevel8 start='(' end=')' contains=@pyParenGroup,pyParen9
syn region pyParen9 transparent matchgroup=hlLevel9 start='(' end=')' contains=@pyParenGroup,pyParen
hi link pyParenError Error
if &bg == "dark"
hi default hlLevel0 ctermfg=red guifg=red1
hi default hlLevel1 ctermfg=yellow guifg=orange1
hi default hlLevel2 ctermfg=green guifg=yellow1
hi default hlLevel3 ctermfg=cyan guifg=greenyellow
hi default hlLevel4 ctermfg=magenta guifg=green1
hi default hlLevel5 ctermfg=red guifg=springgreen1
hi default hlLevel6 ctermfg=yellow guifg=cyan1
hi default hlLevel7 ctermfg=green guifg=slateblue1
hi default hlLevel8 ctermfg=cyan guifg=magenta1
hi default hlLevel9 ctermfg=magenta guifg=purple1
else
hi default hlLevel0 ctermfg=red guifg=red3
hi default hlLevel1 ctermfg=darkyellow guifg=orangered3
hi default hlLevel2 ctermfg=darkgreen guifg=orange2
hi default hlLevel3 ctermfg=blue guifg=yellow3
hi default hlLevel4 ctermfg=darkmagenta guifg=olivedrab4
hi default hlLevel5 ctermfg=red guifg=green4
hi default hlLevel6 ctermfg=darkyellow guifg=paleturquoise3
hi default hlLevel7 ctermfg=darkgreen guifg=deepskyblue4
hi default hlLevel8 ctermfg=blue guifg=darkslateblue
hi default hlLevel9 ctermfg=darkmagenta guifg=darkviolet
endif
編集:
テストとして、ftp://ftp.vim.org/pub/vim/pc/からgvim70.zipとvim70rt.zipをダウンロードしました (これらは Vim 7.0 の Windows バージョンです)。2 つのファイルを新しいディレクトリに解凍し、. 「C:\Documents and Settings」に vim 構成が保存されていないため、この vim を実行することは「バニラ」構成を実行することと同じです。次に、サンプル コードの一部としてamk.ca/python/simple/pyprint.htmlからダウンロードし、上記のコードを code.vim というファイルにコピーしました。gVim では、 と入力しました。構文が強調表示されていない、白い背景のウィンドウで開かれました。それから私は入りましたgvim.exe
vim/vim70/gvim.exe
pyprint.py
:e pyprint.py
:syntax on
、デフォルトの構文強調表示をオンに切り替えました。8 行目に 2 番目の文字を追加しました)
。最後に を入力:source code.vim
すると、2 番目の)
文字が赤く強調表示されます。
次のコマンド シーケンスを入力して、Linux (Vim 7.2 を使用) でもこのテストを実行しました。
cd ~
mv .vimrc old_dot_vimrc
mv .gvimrc old_dot_gvimrc
mv .vim old_dot_vim
vim pyprint.py
:e pyprint.py
" Add extra bracket here!
:syntax on
:source code.vim
再び、2 番目の括弧が強調表示され、他のすべてが正常に見えます。