rcmdnk's blog

Vimテクニックバイブル ~作業効率をカイゼンする150の技

この前 VimでのMarkdown環境を整える という記事を書きましたが、 Vimで開いた時に、実際どのハイライトが適用されてるのかを 簡単に調べられたら便利だな、と思ってたんですが、 丁度そんな話があったのでVimでハイライト表示を調べる方法について。

Vimでカーソル下のハイライト表示を調べるコマンド

元ネタはこの記事です。

Vimでカーソル下のハイライト・グループ名を知る - Weblog - Hail2u.net

こちらでは

1
2
" VimShowHlGroup: Show highlight group name under a cursor
command! VimShowHlGroup echo synIDattr(synIDtrans(synID(line('.'), col('.'), 1)), 'name')

というコマンドが紹介されています。 これで、特定のハイライトされてる文字の上でコマンドを打つと StatementだとかCommentだとか、 対応する:highlightコマンドで見れる値を表示してくれます。

このコマンド(synIDtrans部分)はlinkを全て追うので、linkを使ってsyntaxを設定している場合は その大元の名前が表示されます。

ただ、syntaxを設定する時には中でGroupを作ってそのGroupを Color Schemeで設定される基本的な値へlinkするするのが通常なので その大元が表示されるだけだとsyntaxファイルを設定する時にはよくわかりません。

この場合にはsynIDtransを除いて

1
2
" VimShowHlItem: Show highlight item name under a cursor
command! VimShowHlItem echo synIDattr(synID(line("."), col("."), 1), "name")

こんな感じにすれば上のmarkdown.vimファイル内のmkCode等の値がそのまま 表示されます。

この辺り、実はVimのHelpにそのままのコマンドが書かれてます。

Helpを読んでくだけでもまだまだ知らない便利コマンドが埋もれてそう。。。

Sponsored Links
Sponsored Links

« Liquidで変数をTagに渡す方法 GNU screenでクリップボードの履歴を使えるようにする 2 »

}