LoginSignup
5
0

More than 3 years have passed since last update.

[メモ] カラースキーマ管理 on Vim

Last updated at Posted at 2019-08-09

初投稿失礼します、みえぼりといいます。
主にPythonを使っており、また同言語やLinuxのシステムについてなどをWindows 10 Home上のUbuntu on WSLを活用しつつ学んでます。
どれも概ね今年度初頭ごろから学びはじめたばかりの新米です。

この投稿の動機

つい先週に友人の影響でWSL上のターミナルで使うデフォルトシェルを bash -> zshに乗り換え(環境管理は preztoを利用)、またつい昨日、別の友人の勧めで軽量エディタとしてVimを使い始めました。

Vimを自分好みにカスタマイズすべくいろいろな記事やサイトをみつつ.vimrcをカキカキしていたところ、カラースキーマ(colorscheme)管理の方法について思うところがあったので、これを機にメモを残してみようと思った次第です。

Vim におけるカラースキーマの管理/利用方法

一般に、ユーザ毎の Vim のカラースキーマの管理は次のようなディレクトリツリーで管理されているようです。

$HOME/
  ├ .vim/
  |   ├ colors/
  |        ├ scheme_1.vim
  |        ︙
  ├ .vimrc #各環境設定を記述する

また、.vimrc内でのカラースキーマの指定方法は次のようになります。

~/.vimrc

"カラースキーマスクリプトのファイル名(拡張子を除く)を指定する
colorscheme scheme_1

ここで僕が引っかかったのは、カラースキーマスクリプトは往々にしてgitリポジトリから導入する場合があるという点です(昨日実際に初めて導入したカラースキーマmolokaiもそうでした)。

実際にgitリポジトリからscheme_2を導入するとすると

$ cd ~
# 仮想のリポジトリをクローン
$ git clone https://github.com/alice/scheme_2.git
$ tree .
$HOME/
  ├ .vim/
  丨   ├ colors/
  |        ├ scheme_1.vim
  |        ︙
  ├ .vimrc
  ︙
  ├ scheme_2/
       ├ .git/
       ︙
       └ colors/
            └ scheme_2.vim #カラースキーマスクリプト本体

しかしこのままではVimは新たに導入したカラースキーマを読み込むことができません(~/.vim/colors/以下にスクリプトscheme_2.vimがないため)。

しかし、クローンしたリポジトリから直接スクリプトを~/.vim/colors/以下に移動するとリポジトリの更新に対応できないほか、また何よりも新たなカラースキーマを導入する毎に移動を行うのは非常に煩雑に感じます。

本題

このため、自身はこういった方法をとりました。

  1. カラースキーマのリポジトリを~/.vim/colors/以下に直接クローン
  2. ~/.vim/colors/から見たカラースキーマスクリプトの相対パス(拡張子は除く)を.vimrc内で指定

実行例を記すとこんな感じです。

$ cd ~/.vim/colors
$ git clone https://github.com/alice/scheme_2.git
$ cd ~ ; vim .vimrc
~/.vimrc
~
"colorscheme scheme_2
colorscheme scheme_2/colors/scheme_2
~
"この形式で実際に動作しています

~/.vimrcのコマンドcolorschemeは、実際には~/.vim/colors/以下の相対パスを指定していたのですね。

ということで、カラースキーマのリポジトリのもつディレクトリ構造に合わせてではありますが、比較的かんたんな操作で導入が行えるようになったと思います。

とはいえ、更にスマートな方法がありそうな気もします。そういったご指摘であったり、あとは『こういった設定を使うと快適よ〜』といったアドバイス等ありましたら、コメントいただければと思います。

5
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0