Hack #228: 見た目を気軽に変更する(その2) ColorRoller版
Posted at 2011/09/10ツイート
問題
vim を長い間使用していると、お気に入りの定番カラースキームが3、4種類は決まってくるものです。
お気に入りのカラースキームを探す場合は、
- Color Sampler Pack をインストールする。
:Unite colorscheme
を駆使して片っ端から気に入るものを探す。
という流れで探すのが便利で手軽だと思います。
:Unite colorscheme
によるカラースキームの変更は一つ一つ :colorscheme
コマンドでカラースキームを入力する手間に比べればとても手軽です。
しかし、一度お気に入りが決まってしまうと、 もっと手早くカラースキームを切り替えたいと感じる方もいるのではないでしょうか?
問題提起が少し強引な気もしますが、筆者はお気に入りの3、4種類のカラースキームをワンキーで手早く切り替えたいと感じていました。
対処
下記のコードを .vimrc
に貼り付けます。
let ColorRoller = {}
let ColorRoller.colors = [
\ 'molokai_custom',
\ 'tomorrow_night_custom',
\ 'lucius_custom',
\ 'github256_custom',
\ 'pyte',
\ 'newspaper',
\ ]
function! ColorRoller.change()
let color = get(self.colors, 0)
" tabpagecolorscheme を使用している場合は↓の "colorscheme" を "Tcolorscheme" に変える。
silent exe "colorscheme " . color
redraw
echo self.colors
endfunction
function! ColorRoller.roll()
let item = remove(self.colors, 0)
call insert(self.colors, item, len(self.colors))
call self.change()
endfunction
function! ColorRoller.unroll()
let item = remove(self.colors, -1)
call insert(self.colors, item, 0)
call self.change()
endfunction
nnoremap <silent><F9> :<C-u>call ColorRoller.roll()<CR>
nnoremap <silent><S-F9> :<C-u>call ColorRoller.unroll()<CR>
解説
お気に入りのカラースキーム群をローラー( ColorRoller
)に見立てて、ローラーを回す( roll
)、戻す( unroll
)ことで、カラースキームを切り替えます。
roll()
を <F9>
、 unroll()
を <S-F9>
(Shiftキーを押しながら <F9>
)にそれぞれ割り当てています。
使い方
お気に入りのカラースキームを、 ColorRoller.colors
に設定して使用します。
tabpagecolorscheme を使用している場合、 ColorRoller.change()
内のコメントを参考に、
silent exe "colorscheme " . color
の行を silent exe "Tcolorscheme " . color
に変更して使用して下さい。
最後に
これまでに紹介したカラースキームに関する下記の記事も合わせて参考にして下さい。
t9mdもどる
blog comments powered by Disqus