読者です 読者をやめる 読者になる 読者になる

Vimの基本設定のまとめ

Vim
  • Global設定ファイル
Linux /usr/share/vim/vimrc
Windows c:\Program Files\vim\vimrc
:echo $VIM

で確認できる。

  • Personal設定ファイル
Linux /home/yoshifumi1975/.vimrc
Windows c:\documents and settings\yoshifumi1975\_vimrc
:echo $HOME

で確認できる。

  • 設定ファイルのインクルード

以下のようにすれば、設定を外部ファイルにまとめて書いてインクルードできる

source /path/to/external/file
  • フォントの設定(GVimのみ)
:set guifont=フォント名:hサイズ:c文字コード
:set guifont=MS_Gothic:h12:cSHIFTJIS

ファイル拡張子毎にフォントを変える場合

autocmd BufEnter *.txt set guifont=MS_Gothic:h36:cSHIFTJIS
  • カラーの設定

colors ディレクトリ以下のものから選択する。

:colorscheme morning
  • ハイライトのカスタマイズ
:match カラーグループ名 /正規表現/
:match ErrorMsg /^Error/

ErrorMsgというカラーグループが適用される。
自分でカラーグループを定義したいときは、以下のようにする。

:highlight MyGroup ctermbg=red guibg=red gctermfg=yellow guifg=yellow term=bold
ctermbg コンソールの背景色
guibg Gvimの背景色
ctermfg コンソールのテキストの色
guifg Gvimのテキストの色
gui Gvimのフォントフォーマット
term コンソールのフォントフォーマット(太字など)
  • ステータスラインのカスタマイズ
:set laststatus=2
:set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [ASCII=\%03.3b]\ [HEX=\%06.6B]\ [POS=%04l,%04v][%p%%]\ [LEN=%L]
:set guioptions-=m 
:set guioptions-=T 
  • タブのカスタマイズ(書き途中: Hacking Vimのp32参照)
(Vimの場合)
:set tabline=tabline-layout  

(Gvimの場合)
:set guitablabel   
:set guitabtooltip
  • カーソルを見やすく(使わない)

カラーグループは、CursorLineが使われる。

:set cursorline
:highlight CursorLine guibg=lightblue ctermbg=lightgray
:set cursorcolumn
  • 行番号の表示
:set number
:set numberwidth=5

以下のコマンドを使ってカスタマイズする。

:map Normal, Insert, Visual and Command-lineモード
:imap Insertモード
:cmap Command-lineモード
:nmap Normalモード
:vmap Visualモード

バッファーの切り替えをCtrl+右、左に設定する例

:map <C-right> <ESC>:bn<CR>
:map <C-left> <ESC>:bp<CR>
set encoding=utf-8
set fileencoding=utf-8
set fileencodings=utf-8,cp932,iso-2022-jp,euc-jp

set fileformats=unix,dos,mac

現在の設定の確認

:set enc?
:set fenc?
:set fencs?
:e ++enc=文字コード (utf-8, shift-jis, euc-jp, etc..)
:e ++ff=ファイルフォーマット (dos, mac, unix)
  • 移動
パラグラフ単位で移動 { }
センテンス単位で移動 ( )
単語単位で移動 w b e
プログラムの構文の開始と終了位置に移動 %
プログラムの構文の開始位置に戻る/進む [[ ][
プログラムの構文の終了位置に戻る/進む [] ]]
現在のプログラムの構文の開始と終了位置に移動 [{ ]}
現在のコメントブロックの開始と終了位置に移動 [/ ]/
定義位置に移動 gd gD (ファイルの1行目から探す)
バッファーリスト :buffers
バッファー選択 :buffer N :bnext :bprevious
インクルードファイルを開く gf
最終変更位置に移動 g,
最終変更位置に移動(遡っていく) g;
  • 検索
文字列の検索 /文字列 ?文字列
カーソル位置の文字列の検索 #
カーソル位置の文字列の検索(部分一致OK) g* g#
  • マーク
マークの設定 :ma アルファベット
マークに移動 'アルファベット
マーク一覧 :marks
マーク削除 :delmarks アルファベット :delmarks a c-e :delmarks!

参考にしたサイト
文字コードの設定 - プログラミングノート