Tech Racho エンジニアの「?」を「!」に。
  • インフラ

vimのカラースキームを毎日変えてリア充になる方法

社内ではすっかり少数派になってしまいましたが、未だにvimでコーディングしている山下です。

今回はvimのカラースキーマをいい感じに変更する方法を紹介します

カラースキーマのインストール
カラースキーマが無いと始まらないので適当にダウンロードします。お勧めはColorSamplerPack.zipです。こちらには224個ものテーマが入っているのでテーマ選びに困ることは無いはずです。以下のリンクからColorSamplerPack.zipをダウンロードして下さい。
http://www.vim.org/scripts/script.php?script_id=625
ダウンロードしたらzipを解凍して~/.vimの中にcolorsフォルダごと格納します。pluginフォルダはGUIメニューの追加をしてくれるスクリプトなのでお好みでどうぞ
Windowsの場合はこんな感じにインストールしたディレクトリのvimfiles\colorsに入れてもOKです

カラースキーマを選ぶ
colorscheme コマンドで一つ一つ選んでも良いのですが、面倒なのでこんな感じのvimscriptを用意します。
適当な名前で保存後、vimでファイルを開いて、以下のコマンドで読み込みます

:source %

下記スクリプトの10行目は環境に合わせて変更して下さい
(カラースキーマが存在するディレクトリを指定します)

"************************************************************************
"*     カラースキームのテストスクリプト                                 *
"*     使い方                                                           *
"*     source % で読み込み Shift+<F1> で次のカラースキームへ           *
"*     					  Shift+<F2> で前のカラースキームへ             *
"*                                                                      *
"*      現在のテーマを確認するには↓                                    *
"*                  :echo g:colors_name                                 *
"************************************************************************
chdir C:\Program Files\Vim\vimfiles\colors\
"************************************************************************

let g:colors_counter=-1
let g:colors_list = split(expand("*"))
let b:i=0
while b:i < len(g:colors_list)-1
	let idx=stridx(g:colors_list[b:i],".")
	let name=g:colors_list[b:i][0:idx-1]
	let g:colors_list[b:i]=name
	let b:i += 1
endwhile

function! Colorscheme_next()
	let g:colors_counter += 1
	execute "colorscheme " . g:colors_list[g:colors_counter]
endfunction
nnoremap <silent> <S-F1> :call Colorscheme_next()<CR>:echo g:colors_counter . " " . g:colors_list[g:colors_counter]<CR>

function! Colorscheme_back()
	let g:colors_counter -= 1
	execute "colorscheme " . g:colors_list[g:colors_counter]
endfunction
nnoremap <silent> <S-F2> :call Colorscheme_back()<CR>:echo g:colors_counter . " " . g:colors_list[g:colors_counter]<CR>

あとはShift+<F1>,Shift+<F2>を押して好きなテーマを選びます

好きなテーマが決まったら.vimrcに書いておけばOKです
上記画像のDarkDefaultにしたいなら以下のように追記します

colorscheme DarkDefault

CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。