| トップ | Solaris | FreeBSD | Gentoo | CentOS | Fedora | Windows | Tips | 自宅サーバの動作確認 | サイト内検索(Namazu) | サイト内検索(HE) |
現在起動している「vim」にのみ設定の変更を適用する場合、コマンドモードで
:(コロン)
と入力した後、設定を行う。
「vim」全てに変更を適用する場合、「~/.vimrc」に記述する。
カラーの有効・無効化
| syntax on | 有効 |
| syntax off | 無効 |
「vim」のカラーの修正法
まず、「vim」を起動し、コマンドモードで以下のように入力する。
:highlight |
そして、表示された結果を見ながら変えたい文字のグループを探す。
例えばCommentを赤にしたいときには以下のように設定する。
:highlight Comment ctermfg=DarkRed |
なお、cterm がカラー対応しているterm上での色指定。
使える色は「vim」を起動し、コマンドモードで以下のように入力することで調べられる。
:edit $VIMRUNTIME/syntax/colortest.vim :source % |
Linuxの一部のディストリビューション等で検索結果が見にくい場合、見易くする為に以下のように設定。
:highlight Search ctermbg=1 |
カラースキーマのインストール
まとめて「vim」のカラーを変更する為、カラースキーマを設定する。
まず、以下のサイトから希望のカラースキーマをダウンロードする。
http://www.vim.org/
ここでは、BlackSeaをホームディレクトリにダウンロードしたものとする。
Unix$ mkdir -p ~/.vim/colors <= カラースキーマ格納ディレクトリの作成 Unix$ mv BlackSea.vim ~/.vim/colors/ <= カラースキーマを指定ディレクトリに移動 |
これで、vimを起動し、以下のようにカラースキーマ名を指定すれば適用される。
:colorscheme BlackSea |
基本的にファイル名から.vimを取り除いたものがカラースキーマ名である。
「vim」起動時に毎回設定されるよう、設定ファイルを編集する。
Unix$ vi ~/.vimrc <= 設定ファイルの編集 colorscheme BlackSea <= 追加 |
文字コードの指定
「vim」での文字コードはset encodingで指定できる。
:set encoding=euc-jp <= デフォルトの文字コード :set fileencodings=iso-2022-jp,sjis,utf-8 <= 自動判別に用いる文字コード |
現在の設定の確認
現在の設定を確認するにはコマンドモードで以下のように入力する。
:set enc? <= 文字コードの確認 :set fenc? <= ファイルエンコードの確認 :set fencs? <= 自動判別の設定確認 |
文字コードを指定してファイルを開く方法
Unix$ vim "+e ++enc=euc-jp ファイル名" <= EUC-JPのファイルを開く場合 Unix$ vim "+e ++enc=utf-8 ファイル名" <= UTF-8のファイルを開く場合 Unix$ vim "+e ++enc=cp932 ファイル名" <= Shift-JISのファイルを開く場合 Unix$ vim "+e ++enc=iso-2022-jp ファイル名" <= 7ビットJISコードのファイルを開く場合 |
「vim」の設定
「~/.vimrc」を編集する。
Unix$ vi ~/.vimrc <= 設定ファイルの編集
"----------------------------------------------------
" 基本的な設定
"----------------------------------------------------
" viとの互換性をとらない(vimの独自拡張機能を使う為)
set nocompatible
" 改行コードの自動認識
set fileformats=unix,dos,mac
" ビープ音を鳴らさない
set vb t_vb=
" バックスペースキーで削除できるものを指定
" indent : 行頭の空白
" eol : 改行
" start : 挿入モード開始位置より手前の文字
set backspace=indent,eol,start
"----------------------------------------------------
" バックアップ関係
"----------------------------------------------------
" バックアップをとらない
set nobackup
" ファイルの上書きの前にバックアップを作る
" (ただし、backup がオンでない限り、バックアップは上書きに成功した後削除される)
set writebackup
" バックアップをとる場合
"set backup
" バックアップファイルを作るディレクトリ
"set backupdir=~/backup
" スワップファイルを作るディレクトリ
"set directory=~/swap
"----------------------------------------------------
" 検索関係
"----------------------------------------------------
" コマンド、検索パターンを100個まで履歴に残す
set history=100
" 検索の時に大文字小文字を区別しない
set ignorecase
" 検索の時に大文字が含まれている場合は区別して検索する
set smartcase
" 最後まで検索したら先頭に戻る
set wrapscan
" インクリメンタルサーチを使わない
set noincsearch
"----------------------------------------------------
" 表示関係
"----------------------------------------------------
" タイトルをウインドウ枠に表示する
set title
" 行番号を表示しない
set nonumber
" ルーラーを表示
"set ruler
" タブ文字を CTRL-I で表示し、行末に $ で表示する
set list
" 入力中のコマンドをステータスに表示する
set showcmd
" ステータスラインを常に表示
set laststatus=2
" 括弧入力時の対応する括弧を表示
set showmatch
" 対応する括弧の表示時間を2にする
set matchtime=2
" シンタックスハイライトを有効にする
syntax on
" 検索結果文字列のハイライトを有効にする
set hlsearch
" コメント文の色を変更
highlight Comment ctermfg=DarkCyan
" コマンドライン補完を拡張モードにする
set wildmenu
" 入力されているテキストの最大幅
" (行がそれより長くなると、この幅を超えないように空白の後で改行される)を無効にする
set textwidth=0
" ウィンドウの幅より長い行は折り返して、次の行に続けて表示する
set wrap
" 全角スペースの表示
highlight ZenkakuSpace cterm=underline ctermfg=lightblue guibg=darkgray
match ZenkakuSpace / /
" ステータスラインに表示する情報の指定
set statusline=%n\:%y%F\ \|%{(&fenc!=''?&fenc:&enc).'\|'.&ff.'\|'}%m%r%=<%l/%L:%p%%>
" ステータスラインの色
highlight StatusLine term=NONE cterm=NONE ctermfg=black ctermbg=white
"----------------------------------------------------
" インデント
"----------------------------------------------------
" オートインデントを無効にする
"set noautoindent
" タブが対応する空白の数
set tabstop=4
" タブやバックスペースの使用等の編集操作をするときに、タブが対応する空白の数
set softtabstop=4
" インデントの各段階に使われる空白の数
set shiftwidth=4
" タブを挿入するとき、代わりに空白を使わない
set noexpandtab
"----------------------------------------------------
" 国際化関係
"----------------------------------------------------
" 文字コードの設定
" fileencodingsの設定ではencodingの値を一番最後に記述する
set encoding=utf-8
set termencoding=utf-8
set fileencoding=utf-8
set fileencodings=ucs-bom,euc-jp,cp932,iso-2022-jp
set fileencodings+=,ucs-2le,ucs-2,utf-8
"----------------------------------------------------
" オートコマンド
"----------------------------------------------------
if has("autocmd")
" ファイルタイプ別インデント、プラグインを有効にする
filetype plugin indent on
" カーソル位置を記憶する
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif
endif
"----------------------------------------------------
" その他
"----------------------------------------------------
" バッファを切替えてもundoの効力を失わない
set hidden
" 起動時のメッセージを表示しない
set shortmess+=I
|
ステータスライン
上記で設定しているステータスラインは基本的に以下の書式で設定する。
%{最小幅}.{最大幅}{item}
|
itemに指定できるものは以下の通り。
なお、ここでは最小幅と最大幅は省略している。
| item | 説明 |
|---|---|
| %f | 相対パスでファイル名を表示 |
| %F | フルパスでファイル名を表示 |
| %t | ファイル名のみ表示 |
| %m | 修正フラグを括弧付きで表示 |
| %M | 修正フラグを括弧無しで表示 |
| %r | 読込専用フラグを括弧付きで表示 |
| %R | 読込専用フラグを括弧無しで表示 |
| %h | ヘルプバッファフラグを括弧付きで表示 |
| %H | ヘルプバッファフラグを括弧無しで表示 |
| %w | プレビューウィンドウフラグを括弧付きで表示 |
| %W | プレビューウィンドウフラグを括弧無しで表示 |
| %y | ファイルタイプを括弧付きで表示 |
| %Y | ファイルタイプを括弧無しで表示 |
| %k | 他言語用マッピング |:lmap| が使われているとき、変数 "b:keymap_name" または 'keymap' を "" と表示 |
| %n | バッファ番号を表示 |
| %b | カーソルの文字の文字コードを10進数で表示 |
| %B | カーソルの文字の文字コードを16進数で表示 |
| %o | カーソル下の文字がファイル内で何バイト目かを表示。先頭は1 |
| %O | カーソル下の文字がファイル内で何バイト目かを16進数で表示 |
| %l | カーソルのある行数を表示 |
| %L | ファイルの総行数を表示 |
| %c | カーソルのある列数を表示 |
| %v | 画面上の何列目にカーソルがあるかを表示 |
| %V | 画面上の何列目にカーソルがあるかを表示。表示形式は -{num} 値が 'c' と等しければ表示されない。 |
| %p | カーソル位置がファイルの何%の位置にあるかを表示 |
| %P | カーソル位置がファイルの何%の位置にあるかを3文字で表示 |
| %a | 既定のタイトルと同様の引数ファイルリストを"({current} of {max})" と表示 ファイル引数の数が0または1のときは空 |
| %{ 式 } | %{ と } の間の式を評価し、結果に置き換える。 |
| ( グループ ) | 項目をグループでまとめる(最小値・最大値は指定できない) |
| %< | 行が長すぎるときに切り詰める位置(最小値・最大値は指定できない) |
| %= | 左寄せ項目と右寄せ項目の区切り(最小値・最大値は指定できない) |