戻る
Vimにはcolorschemeというものがあり、この記述方法が謎です。
私は、一つの液晶モニター利用時に選択領域(マウスでドラッグした部分)の色が見えない状態であったため、このcolorschemeをいじることにしました。以下、わかったことを書いておきます。
初めは、最も設定項目が少ないと思われるpabloを使って調べていきました。
私が作ったカラースキームはこちら。
colorscheme
インデント幅の変更
キーマッピング
文字コードを変更して再読み込み
colorscheme
カラースキームを指定するには、vimをインストールしたフォルダにある_vimrc(Linuxの場合ホームディレクトリの隠しファイル?)に
:colorscheme pablo
などと指定すれば、colorsディレクトリにあるpablo.vimが読み込まれるようになります。ファイルを開いている状態からでも上のコマンドを入力すればそのファイルを開いているあいだだけ別のカラースキームを指定できます。
こちら(Vimエディタカラースキーマ 名無しのvim使い)に多くのカラースキームがあるので、好きなものを持ってくるもよし。自分で作ってみるもよし。
grayとかblueとかでも読み取ってくれるようですが、どんな英単語を認識してくれるのかよくわかりません。私は16進数で指定することにしました。
16進数での色の指定はこのあたりが参考になると思います。
html講座(フォントと色)
- 基本的な宣言の形
highlight Normal ctermfg=#ffffff guifg=#000000 guibg=#fcfcfc cterm=none gui=none
highlight
この右にある単語で、全体の背景色、括弧の中、検索結果、選択範囲などを指定します
guifg =
文字の色です。f=font?front?
guibg =
背景の色です。検索した時の背景が黄色かったり、警告文の背景が赤かったりで見たことがあると思います。
ctermfg =
ctermbg =
コマンドラインターミナル上でvimを動かす際の設定です。色でしょうか?現在のところ詳細不明。
cterm =
gui =
いずれも、none, bold(太字), italic(斜体) 等、字体を指定しているようです。
- 色
vimが理解してくれる色に関する英単語か、16進数で赤、緑、青の強さを指定します。
16進数(各256段階)の場合は、数字の前に#を入れます。
- highlightで指定するキーワード紹介
分かったものだけ。他にもたくさんありそう……
ところどころ、「bgで指定することを推奨」みたいなことが書かれていますが、これは私の主観によるものです。参考程度に見てください。
normal
全体の色(背景色、デフォルトのフォントの色)です。これだけ指定しておけば、背景白、文字黒などで普通のエディタと同じ状態になります。
error
エラー表示時の色。bgを赤とかにしておけばいいかも。
visual
選択した領域(ドラッグした部分。これから切り取ったりコピーしたりする。)の色。bg推奨
search
vi(vim)では、
/egf<ENTER>
などで文字列を検索することができますが、このときにファイル中で背景の色が変わります、nを押すと次の候補へ移動できます。bg推奨
comment
プログラミング言語などでのコメントアウトfg推奨
constant
""(ダブルクォテーション内部)や、+-*/などの記号を含む計算部分などの色。fg推奨。
Identifier
rubyではクラス呼び出し時、クラス変数など
Statement
while-end if-endのペア、 returnなど。htmlではbr、h3、li、htmlなどかなりの数のタグがこの色になります
PreProc
def-end class-endなど。Satetementとは見分けられる色だとendが色分けされてわかりやすい。gui=bold推奨
Type
rubyではクラス宣言時。htmlではhref, align等。
- インデント幅の変更
ここを参考にしました。
この3つを全て指定し直さなくてはならないようです。
set tabstop=1
set softtabstop=1
set shiftwidth=1
htmlはインデントがあるとあっという間に右へ右へと移動してしまうため、私は今までインデントを無視するような書き方をしていました。
htmlに関してだけインデント幅を最小に抑えたい場合などは、下のようにします。
au FileType html set ts=1 sw=1 expandtab
これは、
ここに書いてありました。
- キーマッピング
こんな指定をしています。
map <F2> :w <ENTER>:!ruby % <ENTER>
map <F3> :w <ENTER>:!javac % <ENTER>
map <F4> :w <ENTER>:!java %< <ENTER>
map <F5> :colorscheme egfortp <ENTER>
%が今編集しているファイル名です。
!をつけるとコマンドラインへ送ることができ、即座にプログラムをコンパイル、実行できます。javaについて%<と書いてあるのは、"<"を指定すると拡張子を削った状態でコマンドラインに送れるため、.classファイルを指定したこと同じに扱えるからです。
また、colorscheme で編集するカラースキームファイルを指定しておけば、色の変化を調べるのがらくになります。
- 文字コードを変更して再読み込み
ファイルがshift-jis以外の文字コードで作られている場合など、文字コードを変更する必要性が生じたとき、
ファイル>エンコード指定>再読み込み>文字コード
で再読み込みできる場合もあるんですが、この選択肢が存在しない場合があります。同じVim7.0 なのに、何故?
……どうやら、最近ではiconv.dllというものをインストールしないといけないようですね。
http://www.kaoriya.net/#LIBICONV
上のファイル中のiconv.dllを、Vimのバイナリがあるディレクトリに入れれば文字コードの変換をメニューから利用できるようになるはずです。
windowsでtar.bz2を解凍するには、LhaplusやMelt it!なんかを使えばいいと思います。
それかこっちのzipファイル。
http://www.dll-files.com/dllindex/dll-files.shtml?iconv
これはこちらのサイトを参考にさせていただきました。
Vim Tips(エンコード指定)
一応、コマンドラインで指定できる方法を記録しておきます。
:e ++enc=sjis
いろいろなコードがあり、それぞれどんなキーワードを使えばいいのか書いておきます。
Shift JIS | sjis 又は cp932 |
EUC | euc-jp |
JIS | iso-2022-jp |
UTF-8 | utf-8 |
2007.10.13
戻る