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]#
一般アカウントの場合は、デフォルトで色がついているので見やすいです。
この後説明しますがコメントの文字が深い青なので、背景が黒だと見えにくいです。
【例】
せっかく色がついているのに、暗すぎて読めない・・・
のちほどこれも見やすいようにカスタマイズします。
実は 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】
色がついていません。
【After】
色が付きました。
ちなみになぜ上記の「[ -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 を実行していたということなんですね。
コメント