LinuxでのVIMのカラースキーマ設定の整理をメモ。
課題
次の課題を解決!
- CentOSをminimal(必要最低限パッケージ)なんかでインストールすると、VIMのデフォルトなカラースキーマなどはインストールされない。
- Webで公開されているMorokaiとかのカラースキーマの導入手順などは簡単に検索できるけど、ユーザー(アカウント)ごとの導入手順がほとんどで、複数のユーザーが同じカラースキーマを使う場合のベターな方法が見つからない。
- 説明の中には、スキーマの実体ファイルだけを使ってて、ライセンスファイルやREADMEファイルなんかを適切に保持しなさそうなやり方があるので、なんとなくよろしくないかな。
場面ごとの手順
デフォルトのカラースキーマのインストール
もし、次のディレクトリがなかった場合は、デフォルトのカラースキーマがインストールされていない。
使う場合もあるだろうからインストールしておく。
$ ls /usr/share/vim/vimNN/colors # NNは73とか74とかの数字
インストールはこう。
$ sudo yum install vim-enhanced
共通で使う公開カラースキーマのインストール
例えば、定番の Molokai などは、他のユーザーも使うかもしれないので、あらかじめ共通のファイルとしてインストールしておけば、他の人も楽チン。
1. 共通フォルダの作成
/usr/local/share/vim
下に置き場を作る。
$ sudo mkdir -p /usr/local/share/vim/colors
$ sudo mkdir -p /usr/local/share/vim/color_schemes
2. カラースキーマのインストール
例として、Molokaiを導入する。
$ cd /usr/local/share/vim/color_schemes/
$ sudo git clone https://github.com/tomasr/molokai.git
3. リンクを貼る
color_schemes
の同列ディレクトリ colors
の中に、カラースキーマのシンボリックリンクを貼る。
$ cd /usr/local/share/vim/colors
$ sudo ln -s ../color_schemes/molokai/colors/molokai.vim
# 確認
$ ls -l
total 0
lrwxrwxrwx 1 root root 43 Nov 22 19:10 molokai.vim -> ../color_schemes/molokai/colors/molokai.vim
他のカラースキーマも、同様にこのcolor_schemes
ディレクトリ下でgit clone
などして、カラースキーマごとのディレクトリを作り、リンクを貼って管理する。
ユーザー(アカウント)ごとの設定
各ユーザー(アカウント)のディレクトリ下に、上の共通カラースキーマファイルのリンクを貼る。
1. 設定ディレクトリを作ってリンクを貼る
目的のユーザー(アカウント)のホームディレクトリ下でそれぞれで行ってもらう(または、管理者が行うなりそういうスクリプトを実行するなりする。)
$ cd
$ mkdir .vim
$ cd .vim
$ ln -s /usr/local/share/vim/colors
# 確認
$ ls -l
total 0
lrwxrwxrwx 1 slacker slacker 27 Nov 22 19:15 colors -> /usr/local/share/vim/colors
2. .vimrc を編集
.vimrc
を編集して、カラースキーマを反映させる。
ここらへんの情報は、検索すればすぐ探せるので、他の必要な設定と合わせてしておこう。
syntaxoncolorschememolokaisett_Co=256
rootの設定
アカウントrootについても同様に設定できる。
注意点としては、一般アカウントは、vi
がvim
のエイリアスになっているのに対し、rootの場合は、そのままvi
が起動する。なので、.vimrc
は読み込まれず、目的のカラースキーマが設定されない。
下記を参考に、エイリアスを設定するなりして、必要ならば対処する(※)。
CentOS/CentOSでrootユーザにてviを使用すると色がつかない場合の対処
(※)必要ならば、と書いたのは、特段設定しなくてもよい、という場合もあるから。そもそも、rootアカウントに切り替えてからの作業を禁止する運用もあるだろう。また切り替えがOKだとしても、一般ユーザーと同じカラースキーマが適用されていると、誤って編集してはいけないファイルも上書きしてしまうこともあるかもしれない。そういう問題を回避するため、あえてそのままでも良いかもしれない。もし設定する場合でも、一般ユーザーとは異なる色味のカラースキーマにしておいたほうが良いだろう。
その他
- サーバ単位での共通ファイル
/etc/vimrc
に書いちゃえば、どのユーザーも同じカラースキーマが適用されるだろう。だがお勧めはしない。カラースキーマなど、個人のアクセシビリティに依存するものは、やはり個人の設定で解決すべきだからだ。 - 昔のディストリビューションには、読み取り専用で開く
view
コマンドなどがあった。これを使うと不用意な保存を防げたりした。less
がとって代わったのだと思うが、もし復活させるのであればalias view='vi -R'
などと、エイリアスを.bashrc
などに設定するなどよいだろう。
(以上)