vim-users.jp

Hack #233: 現在使用中のColorSchemeの名前を取得する

Posted at 2011/09/30
このエントリーをはてなブックマークに追加

こんにちは、ujihisaです。今月末に引っ越しをする予定があり、毎日忙しく、Vimを使う暇すらない日々が続いています。

問題

美しいColorSchemeを使用しており、それを友達に自慢したいVim使いは多数いると思います。しかしながら、現在使用中のColorSchemeの名前を取得する方法が分からず、はがゆい思いをしたことがある人も少なくないのではないでしょうか。

解決

二つの方法があります。

:colorscheme

あるいは

:echo g:colors_name

前者は画面にColorScheme名を表示する専用のコマンド、後者はColorScheme名が入っている変数を得てそれを表示しているわけですので、対話的に使用するときは前者を、Vim scriptから値を使用するときは後者を使うと自然になります。

注意

必ずしも上記方法で現在使用中のColorSchemeが得られるとは限りません。ColorScheme開発者には、そのColorScheme名をg:colors_nameというグローバル変数に格納することが推奨されていますが、自動的に行われるわけではありません。

上記のような場合、:colorschemeは無条件にdefaultと出力します。また、g:colors_nameにアクセスするとエラーを吐き出します。

悪評高いColorSchemeの例としてleoがあります。:colorscheme leoして:echo g:colors_nameないし:colorschemeして、絶望しましょう。

そして、パッチを投げましょう。

ujihisa

もどる
blog comments powered by Disqus