.vimrcの設定
vi非互換モードに設定
if &compatible
set nocompatible
endif
文字エンコーディング=UTF8
if has("multi_byte_encoding")
set encoding=utf-8
endif
構文ハイライト機能を有効にする
syntax enable
このコマンドにより実際には次のコマンドが実行される.
source $VIMRUNTIME/syntax/syntax.vim
環境変数VIMが設定されていない場合は、Vimは別の方法(|$VIMRUNTIME|参照)でパスの
検索を試みる。通常はこれでうまくいく。うまく動作しない場合は、環境変数VIMにVim
の構成ファイルが置いてあるディレクトリの設定を試みる。例えば、構文ファイルがディ
レクトリ "/usr/vim/vim50/syntax" にあるならば、$VIMRUNTIMEに "/usr/vim/vim50"
を設定する。これはVimを起動する前に、シェルで設定しておかなければならない。
表示色の設定(256色)。参照:vim doc terminal-options
set t_Co=256
改行 (EOL) の種類を指定する。
set fileformats=unix,dos
行頭の余白内でTabを打ったとき'shiftwidth'の値だけ空白を挿入する。
行頭以外では 'tabstop' の数だけ白が挿入される。
set smarttab
挿入モードでTabを挿入するとき、代わりに適切な数の空白を使う。
set expandtab
また、コマンド '>' や '<' によるインデントや、オプション 'autoindent' がオンのときのインデントでも空白を使う。'expandtab' がオンのときに本当のタブを挿入するには、CTRL-V を使うこと。
矩形ビジュアルモードで仮想編集を有効にする。
set virtualedit=block
仮想編集とは、実際に文字がないところにもカーソルを置けるようにする。つまりタブ文字の内部や行末より後ろにカーソルを移動できる。ビジュアルモードで長方形を選択するときや、表を編集するときに便利である。
検索パターンにおいて大文字と小文字を区別しない。タグファイル内の検索にも適用
set ignorecase
検索パターンが大文字を含んでいたらオプション 'ignorecase' を上書きする。
set smartcase
検索パターンがキーボードから打ち込まれたときに 'ignorecase' がオンの場合にのみ使われる。適用されるコマンドは "/", "?", "n", "N", ":g", ":s"である。"*", "#", "gd" やタグ検索などには適用されない。
検索コマンドを打ち込んでいる間にも、打ち込んだところまでのパターンがマッチするテキストを、すぐに表示する。
set incsearch
検索がバッファの端に到達した時に、もう一方の端に移動して検索が継続されます。
set wrapscan
タブ、改行、スペースなどの表示をカスタマイズできる。
set list
set listchars=tab:>-,trail:~
行番号を表示する。
set number
最下ウィンドウにいつステータス行が表示されるかを設定する。2=常に表示
set laststatus=2
タブページのラベルを常に表示する
set showtabline=2
クリップボードを使えるようにする
set clipboard=unnamed
挿入モードでの BS,Del,CTRL-W,CTRL-Uの動作を設定する。
set backspace=eol,indent,start
コマンドライン補完を拡張モードで使用する。
set wildmenu
set wildmode=list:full
set wildignore=.o,.obj,.pyc,.so,*.dll
タグファイル関連
if has('path_extra')
set tags& tags +=.tags,tags
endif
・python固有の設定
let b:did_ftplugin_python = 1
setlocal smarttab
setlocal expandtab
setlocal tabstop=4
setlocal shiftwidth=4
setlocal foldmethod=indent
setlocal commentstring=#%s
xmap af (textobj-python-function-a)
omap af (textobj-python-function-a)
xmap if (textobj-python-function-i)
omap if (textobj-python-function-i)
xmap ac (textobj-python-class-a)
omap ac (textobj-python-class-a)
xmap ic (textobj-python-class-i)
omap ic (textobj-python-class-i)
setlocal omnifunc=jedi#completions
if version < 600
syntax clear
elseif exists('b:current_after_syntax')
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn match pythonOperator "(+|=|-|^|*)"
syn match pythonDelimiter "(,|.|:)"
syn keyword pythonSpecialWord self
hi link pythonSpecialWord Special
hi link pythonDelimiter Special
let b:current_after_syntax = 'python'
let &cpo = s:cpo_save
unlet s:cpo_save
参照:vim documentation
Neobundleのインストール
mkdir -p ~.vim/bundle
git clone https://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim
.vimrcに以下
set runtimepath+=~/.vim/bundle/neobundle.vim/
call neobundle#begin(expand('~/.vim/bundle/'))
NeoBundleFetch 'Shougo/neobundle.vim'
NeoBundle 'Shougo/unite.vim'
call neobundle#end()
NeoBundleCheck
taglist プラグインのインストール
$sudo apt-get install exuberant-ctags
.vimrcに
NeoBundle 'vim-scripts/taglist.vim'
NeoBundle 'szw/vim-tags'
" taglist
set tags = tags
let Tlist_Ctags_Cmd = "/usr/bin/ctags"
let Tlist_Show_One_File = 1
let Tlist_Use_Right_Window = 1
let Tlist_Exit_OnlyWindow = 1
ファイル形式の検出&ファイル形式別プラグインのロード、ファイル形式別インデント、の有効化(参照:vim documentation)
filetype plugin indent on