LoginSignup
6
10

More than 5 years have passed since last update.

アカウント共通でVIMカラースキーマを使おう!

Last updated at Posted at 2016-11-22

LinuxでのVIMのカラースキーマ設定の整理をメモ。

課題

次の課題を解決!

  • CentOSをminimal(必要最低限パッケージ)なんかでインストールすると、VIMのデフォルトなカラースキーマなどはインストールされない。
  • Webで公開されているMolokaiとかのカラースキーマの導入手順などは簡単に検索できるけど、ユーザー(アカウント)ごとの導入手順がほとんどで、複数のユーザーが同じカラースキーマを使う場合のベターな方法が見つからない。
    • 説明の中には、スキーマの実体ファイルだけを使ってて、ライセンスファイルや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などして、カラースキーマごとのディレクトリを作り、colorsディレクトリにリンクを貼って管理する。

ユーザー(アカウント)ごとの設定

各ユーザー(アカウント)のディレクトリ下に、上の共通カラースキーマファイルのディレクトリへのリンクを貼る。

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

すでに個人で~/.vim/colorsディレクトリを作っていて、別途カラースキーマを導入しているのであれば、/usr/local/share/vim/colorsのシンボリックではなく、その下のカラースキーマのVIMファイルへのリンクを貼ればよい。

# 個人でcolorsディレクトリを管理している場合
$ cd ~/.vim/colors
$ ln -s /usr/local/share/vim/colors/molokai.vim

2. .vimrc を編集

.vimrcを編集して、カラースキーマを反映させる。
ここらへんの設定に関する情報は、検索すればすぐ探せるので、他の必要な設定と合わせてしておこう。

.vimrc
syntax on
colorscheme molokai
set t_Co=256

rootの設定

アカウントrootについても同様に設定できる。

注意点としては、Linuxで一般アカウントは、vivimのエイリアスになっているのに対し、rootの場合は、そのままviが起動する。なので、.vimrc は読み込まれず、目的のカラースキーマが設定されない。
下記を参考に、エイリアスを設定するなりして、必要ならば対処する(※)。

(参考)CentOS/CentOSでrootユーザにてviを使用すると色がつかない場合の対処

(※)必要ならば、と書いたのは、特段設定しなくてもよい、という場合もあるから。
そもそも、rootアカウントに切り替えてからの作業を禁止する運用もあるだろう(基本 sudo で実行するだろうし)。また切り替えがOKだとしても、一般ユーザーと同じカラースキーマが適用されていると、誤って編集してはいけないファイルも上書きしてしまうこともあるかもしれない。
そういう問題を回避するため、あえて何もしないという方法も検討を。
もし設定する場合でも、一般ユーザーとは異なる色味のカラースキーマにしておいたほうが良いだろう。

その他

  • サーバ単位での共通ファイル /etc/vimrc に書いちゃえば、どのユーザーも同じカラースキーマが適用されるだろう。だがお勧めはしない。カラースキーマなど、個人のユーザビリティに依存するものは、やはり個人の設定で解決すべきだからだ。
  • 昔のLinuxディストリビューションには、読み取り専用で開く view コマンドなどがあった。これを使うと不用意な保存を防げたりした。less がとって代わったのだと思うが、もし復活させるのであれば alias view='vi -R' などと、エイリアスを.bashrcなどに設定するなどよいだろう。

(以上)

6
10
0

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
6
10