vimrc

vimrc を晒す。あんまりいじってないけどまだこれで困ってないので問題なし。使いながらでいいのさー。 Vim7 のタブ機能を使ってるせいで buffer 関係理解してないんだけど今のところ全然困ってない。 :tabnew で開いてたまに :tabdo で処理して Vimperator なキーバインドにして使うととても素晴らしい感じ。

"
" _vimrc
"

" set ---------------------------------------------------------------------
" compatible mode off
set nocompatible

" Backup
set backup              " make backup file
set writebackup         " 書き込み時にバックアップを作る
set backupdir=~/backup  " バックアップディレクトリの設定
set backupcopy=auto     " バックアップファイルの作成方法
set backupext=~         " バックアップファイルの末尾につけられる文字
set noautowrite         " 自動保存を off にする
set noautowriteall      " 同上

" Display & Information
set number            " 行番号表示
set noruler           " カーソルの行,列数を非表示 ( statusline を設定するので )
set title             " 処理ファイル名をタイトルバーに表示
set laststatus=2      " 常にステータスラインを表示する
set showmode          " モード表示
set cmdheight=1       " コマンドラインは 1 行で
set background=light  " 明るい背景を使う
set nolist            " 非表示文字は表示しないまま
set showmatch         " 対になるカッコを強調表示
set scrolloff=3       " カーソルの周りは常に 3 行表示
" ファイル名、モード、文字コード、改行コード、読み取り専用フラグ、変更フラグ、列数 : 行数 / 全行数 [ カーソル位置の % ]
set statusline=%t\ %y%{'['.(&fenc!=''?&fenc:&enc).':'.&ff.']'}%r%m%=%c:%l/%L[%3p%%]

" Tab
set tabstop=2      " タブ幅
set shiftwidth=2   " cindent や << / >> のインデント幅
set softtabstop=0  " tab キーを押したときに挿入される幅。 0 は tabstop の設定
set autoindent     " auto indent on
set expandtab      " タブを空白文字に置換する

" Search
set incsearch   " incremental search on
set hlsearch    " 検索語のハイライト
set ignorecase  " 大文字小文字を区別しない
set smartcase   " 大文字が含まれていた場合は区別する
set wrapscan    " ファイル終端までいったら最初に戻る

" Cursor
set backspace=2  " indent,eol,start

" Wild card
set wildmenu               " 補完候補表示
set wildmode=longest:full  " wildmenu + 共通する最長の文字列まで補完

" Syntax
syntax enable " シンタクスハイライトを使う


" highlight ---------------------------------------------------------------
" 全角スペースを視覚化
highlight ZenkakuSpace cterm=underline ctermfg=lightblue guibg=white
match ZenkakuSpace / /


" autocmd -----------------------------------------------------------------
" vimperator で syntax 適用
autocmd Bufread,BufNewFile _vimperatorrc        set filetype=vimperator


" let ---------------------------------------------------------------------
let maplocalleader='.'

" map ---------------------------------------------------------------------
" タブ移動
nmap <special> <C-h> gT
nmap <special> <C-l> gt
" タブ入れ替え
" TabShift.vim plugin
nmap <silent> <special> <C-p> :call TabShift(-1)<CR>
nmap <silent> <special> <C-n> :call TabShift(1)<CR>

" カッコやクォーテーションは先に全部入力するタイプ
inoremap <special> {} {}<LEFT>
inoremap <special> () ()<LEFT>
inoremap <special> [] []<LEFT>
inoremap <special> "" ""<LEFT>
inoremap <special> '' ''<LEFT>
inoremap <special> <> <><LEFT>