【Linux】root の vi にカラー(色)を付ける、(root以外でも)vi の色をカスタマイズする(コメントアウトなど)

 

rootアカウントの状態で vi でファイルを開いても色が付いていないため見にくいと感じたことはないでしょうか?

【例】

こんな感じで全部白だとコメントアウトなど見分けるのが難しいです。

[root@SAKURA_VPS ai]# vi jano.py
# -*- coding: utf-8 -*-
from janome.tokenizer import Tokenizer

t = Tokenizer()
tokens = t.tokenize(u'pythonの本を読んだ')

for token in tokens:
    print token
[root@SAKURA_VPS ai]#

 

一般アカウントの場合は、デフォルトで色がついているので見やすいです。

この後説明しますがコメントの文字が深い青なので、背景が黒だと見えにくいです。

 

【例】

せっかく色がついているのに、暗すぎて読めない・・・

【Linux】root の vi にカラー(色)を付ける、(root以外でも)vi の色をカスタマイズする(コメントアウトなど)

 

のちほどこれも見やすいようにカスタマイズします。

 

実は vi や vim でのファイル編集時の文字に独自に色を設定することができます。

コメントアウトの文字を「青」にしたり「黄色」や「ピンク」にすることもできます。

(この後解説します)

 

root の vi、vim に色を付ける方法

簡単にできます。

「/etc/profile.d/vim.sh」を修正します。

[root@SAKURA_VPS ~]# vi /etc/profile.d/vim.sh

if [ -n "$BASH_VERSION" -o -n "$KSH_VERSION" -o -n "$ZSH_VERSION" ]; then
  [ -x /usr/bin/id ] || return
  ID=`/usr/bin/id -u`
  #[ -n "$ID" -a "$ID" -le 200 ] && return ← この列をコメントアウトします。
  # for bash and zsh, only if no alias is already set
  alias vi >/dev/null 2>&1 || alias vi=vim
fi

 

 

修正後に一度「exit」コマンドで root からログアウト後に再度「sudo su -」コマンド等で root になれば vi コマンド後に色が付いていることが確認できます。

 

【Before】

色がついていません。

【Linux】root の vi にカラー(色)を付ける、(root以外でも)vi の色をカスタマイズする(コメントアウトなど)

 

【After】

色が付きました。

【Linux】root の vi にカラー(色)を付ける、(root以外でも)vi の色をカスタマイズする(コメントアウトなど)

 

ちなみになぜ上記の「[ -n "$ID" -a "$ID" -le 200 ] && return」をコメントアウトするだけで root アカウントでの vi で色が付いたのかと言いますと、

  • []  ← test コマンドで判定をしています。
  • -n "$ID" ←  ID が0文字より「大」なら「真」※0以上ではありません
  • -a   ← AND 条件
  • "$ID" -le 200  ← ID が200以下なら「真」

です。

 

つまり、IDがあり、且つIDが200以下の場合はここから下の処理は行わないということになります。

個々から下の処理で確認するところとしては「alias vi=vim」の部分です。

実は ID が200以下の一般アカウントの場合は vi コマンドを実行すると vim を実行していたのです。

しかし root は ID が200以下、「0」なので vim ではなく vi を実行していたということなんですね。

[root@SAKURA_VPS ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync

 

 

vi、vim の色をカスタマイズする方法

コメントアウトされた文字列が背景黒に青なので分かりにくいです。

この色をカスタマイズします。

 

vi コマンドでファイルを開いた後に、「Esc」+「:highlight」を実行します。

【Linux】root の vi にカラー(色)を付ける、(root以外でも)vi の色をカスタマイズする(コメントアウトなど)

 

 

【Linux】root の vi にカラー(色)を付ける、(root以外でも)vi の色をカスタマイズする(コメントアウトなど)

 

 

更に下へスクロールをしていくと・・・

「pythonComment」もありました。

こちらも見にくいので変更します。

【Linux】root の vi にカラー(色)を付ける、(root以外でも)vi の色をカスタマイズする(コメントアウトなど)

 

 

何色が設定できるのか?画像つきでサンプル表示

実際の色は下図のようになります。

【Linux】root の vi にカラー(色)を付ける、(root以外でも)vi の色をカスタマイズする(コメントアウトなど)

 

こうして見るとかなり種類が豊富です。

ちなみに「black_on_black」はなぜあるのか分かりません(隠し文字用?)が、もちろん文字は見えません(笑)

" black         black_on_white                          white_on_black
"                               black_on_black          black_on_black
" darkred       darkred_on_white                        white_on_darkred
"                               darkred_on_black        black_on_darkred
" darkgreen     darkgreen_on_white                      white_on_darkgreen
"                               darkgreen_on_black      black_on_darkgreen
" brown         brown_on_white                          white_on_brown
"                               brown_on_black          black_on_brown
" darkblue      darkblue_on_white                       white_on_darkblue
"                               darkblue_on_black       black_on_darkblue
" darkmagenta   darkmagenta_on_white                    white_on_darkmagenta
"                               darkmagenta_on_black    black_on_darkmagenta
" darkcyan      darkcyan_on_white                       white_on_darkcyan
"                               darkcyan_on_black       black_on_darkcyan
" lightgray     lightgray_on_white                      white_on_lightgray
"                               lightgray_on_black      black_on_lightgray
" darkgray      darkgray_on_white                       white_on_darkgray
"                               darkgray_on_black       black_on_darkgray
" red           red_on_white                            white_on_red
"                               red_on_black            black_on_red
" green         green_on_white                          white_on_green
"                               green_on_black          black_on_green
" yellow        yellow_on_white                         white_on_yellow

"                               yellow_on_black         black_on_yellow
" blue          blue_on_white                           white_on_blue
"                               blue_on_black           black_on_blue
" magenta       magenta_on_white                        white_on_magenta
"                               magenta_on_black        black_on_magenta
" cyan          cyan_on_white                           white_on_cyan
"                               cyan_on_black           black_on_cyan
" white         white_on_white                          white_on_white
"                               white_on_black          black_on_white
" grey          grey_on_white                           white_on_grey
"                               grey_on_black           black_on_grey
" lightred      lightred_on_white                       white_on_lightred
"                               lightred_on_black       black_on_lightred
" lightgreen    lightgreen_on_white                     white_on_lightgreen
"                               lightgreen_on_black     black_on_lightgreen
" lightyellow   lightyellow_on_white                    white_on_lightyellow
"                               lightyellow_on_black    black_on_lightyellow
" lightblue     lightblue_on_white                      white_on_lightblue
"                               lightblue_on_black      black_on_lightblue
" lightmagenta  lightmagenta_on_white                   white_on_lightmagenta
"                               lightmagenta_on_black   black_on_lightmagenta
" lightcyan     lightcyan_on_white                      white_on_lightcyan
"                               lightcyan_on_black      black_on_lightcyan

 

 

 

vi、vim の色の変更の仕方

「/etc/vimrc」を変更します。

※「/etc/vimrc」を変更すると全アカウントで変更されます。他の人とシステムを共用している場合は各アカウントの「~/.vimrc」ファイルを作成して設定を入れます。

私の場合はコメントだけ見やすくなればいいので以下のように「darkcyan」に変更しました。

ファイルの最後尾(さいこうび)に以下を追加して保存します。

highlight Comment ctermfg=darkcyan
highlight pythonComment ctermfg=darkcyan

 

【Linux】root の vi にカラー(色)を付ける、(root以外でも)vi の色をカスタマイズする(コメントアウトなど)

 

 

一度ログアウトをして、再度ログインをして確認をします。

すると下図のようにコメントが見やすくなりました。

これはおススメです。

 

 

 

 

 

Posted by 100%レンタルサーバーを使いこなすサイト管理人

コメントを残す

メールアドレスが公開されることはありません。