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