季節を彩るvim
はじめに
めっきり秋らしくなりました。
開発のときにも常に季節感を意識していたいですね。ということでvimのプラグインに手を出してみることにしました。vimmerではないのですが。
カラースキームを変える
vimのカスタマイズはホームディレクトリに.vimrc
というファイルを作成することにより設定できます。(rcというのはrun commandの略らしいです)。
まずはこいつを使って季節感のあるカラースキームをvimに適用させてみましょう。デフォルトで使用できるカラースキームはこちらから確認できます。例えばblue.vimを適用させたい場合は.vimrcに
colorscheme blue
と入力します。vim使用中に:color blue
コマンドで一時的なカラースキーム変更もできるので、ひとつずつ試しながら良さそうなものを選んでみましょう。
カラースキームをインストールする
デフォルトのカラースキームもよいのですが、秋らしさを感じられるようなものがありませんでした。ここはデフォルト以外のカラースキームを探してインストールしましょう。
上記サイトでvimのカラースキームを探すことができます。ここから秋らしさを感じるカラースキームを見つけてきました。
秋の紅葉を思わせるカラースキームです。vimにはプラグイン管理ツールがあるので、それを利用してインストールを行いましょう。今回はvim-plugを使用します。
call plug#begin('~/.vim/plugged') Plug 'fcpg/vim-farout' call plug#end() colorscheme farout
これを.vimrcに記述して:PlugInstall
コマンドを実行するとプラグインがインストールされ、faroutカラースキームが適用されます。内部的にgitを使用しているのでサーバにgitをインストールしていないと失敗するようです。
月ごとのカラースキームを適用させたい
秋らしいカラースキームを適用させてみましたが、冬になっても秋の装いのままではいけません。ここはひとつ、月ごとにカラースキームが自動で切り替わるようにしてみましょう。
call plug#begin('~/.vim/plugged') Plug 'yuttie/hydrangea-vim' Plug 'cocopon/iceberg.vim' Plug 'lu-ren/SerialExperimentsLain' Plug 'Donearm/Ubaryd' Plug 'itchyny/landscape.vim' Plug 'nanotech/jellybeans.vim' Plug 'tyrannicaltoucan/vim-quantum' Plug 'fmoralesc/vim-vitamins' Plug 'AlessandroYorba/Alduin' Plug 'fcpg/vim-farout' Plug 'KKPMW/moonshine-vim' Plug 'tpope/vim-vividchalk' Plug 'raphamorim/lucario' call plug#end() command! -nargs=1 SetMonthScheme call SetMonthScheme(<f-args>) function! GetThisMonthScheme() let month = GetMonth() let schemeNameDict = GetSchemeNameDict() return schemeNameDict[month] endfunction function! SetMonthScheme(month) let schemeNameDict = GetSchemeNameDict() exe "colorscheme " . schemeNameDict[a:month] endfunction function! GetColorScheme() let month = GetMonth() let schemeNameDict = GetSchemeNameDict() return schemeNameDict[month] endfunction function! GetSchemeNameDict() let schemeNameDict = { \ '01': 'hydrangea', \ '02': 'iceberg', \ '03': 'SerialExperimentsLain', \ '04': 'ubaryd', \ '05': 'landscape', \ '06': 'jellybeans', \ '07': 'quantum', \ '08': 'vitamins', \ '09': 'moonshine', \ '10': 'farout', \ '11': 'vividchalk', \ '12': 'lucario', \ } return schemeNameDict endfunction function! GetMonth() let now = localtime() let month = strftime("%m", now) return month endfunction exe "colorscheme " . GetColorScheme()
.vimrc
にこんなスクリプトを書いてみました。現在月をもとにカラースキームが自動で適用され、さらに:SetMonthScheme <%m>
コマンドで任意月に設定したカラースキームを呼び出せます。
プラグイン化する
このまま.vimrc
に書いているのでは扱いづらいので、プラグインとして管理することにします。
続・初めてのvimプラグイン作成 - 最小限なvimプラグイン - Qiita
この記事を参考にプラグイン化を行いました。
autoloadディレクトリの中にある辞書データ を書き換えれば好きなカラースキームを好きな月に設定することができます。これで皆さんも四季折々のvimを楽しむことができるようになりました。
設定ファイルの切り分けができていなかったり、未インストールのカラースキームを読み込んだ場合のエラー処理など、色々と目をつぶってはいけないところを無視してはいますが、勢いに任せたプラグインとしてはこんなものです。気が向いたら改修しましょうね。