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

『書物の迷宮』予告篇

思い出したように本を読み、本の読み方を思い出す

.vimrc弄ってたらこんな時間に……。

技術

もう一つ何かエントリ書こうと思ってたのに……。
vim7 用に少し .vimrc を書き直した - cooldaemonの備忘録
こちらの.vimrcとかを眺めてたら、自分の.vimrcが壊滅的に汚いことに気付く。
というわけで、上記を参考にしつつ書き換え。分からないオプションは以下を参考に調べた。
Page ON/サービス終了のお知らせ
さらに、はてブでブックマークしたまま放置してたエントリからも色々取り込み。
vimに関するhazy-moonのはてなブックマーク


?になってるのはバックスラッシュの可能性が。

.vimrc

"===<etc>===========================
syntax on
set filetype=on

set nocompatible
set binary noeol
set backspace=indent,eol,start
set visualbell
set backupdir=~/.vim/backup
set directory=~/.vim
set cmdheight=1
set history=60
set hidden
if has('kaoriya')
  set iminsert=0 imsearch=0
endif

"===<encoding>======================
set termencoding=UTF-8

set encoding=UTF-8
set fileencoding=UTF-8

if has('mac')
  set langmenu=ja_JP.UTF-8
endif

if has('iconv')
  let s:enc_euc = 'euc-jp'
  let s:enc_jis = 'iso-2022-jp'

  if iconv("?x87?x64?x87?x6a", 'cp932', 'euc-jisx0213') ==# "?xad?xc5?xad?xcb"
    let s:enc_euc = 'euc-jisx0213'
    let s:enc_jis = 'iso-2022-jp-3'
  endif

  let &fileencodings = &fileencodings .','. s:enc_jis
  set fileencodings+=utf-8,ucs-2le,ucs-2
  if &encoding =~# '^euc-?%(jp?|jisx0213?)$'
    set fileencodings+=cp932
    set fileencodings-=euc-jp
    set fileencodings-=euc-jisx0213
    let &encoding = s:enc_euc
  else
    let &fileencodings = &fileencodings .','. s:enc_euc
  endif

  unlet s:enc_euc
  unlet s:enc_jis
endif

autocmd FileType cvs :set fileencoding=euc-jp
autocmd FileType svn :set fileencoding=utf-8

" 改行コードの自動認識
set fileformats=unix,dos,mac

"===<tab>===========================
set autoindent
set shiftwidth=4
set tabstop=4
set smartindent
autocmd FileType c,cpp,perl set cindent
autocmd FileType python set tabstop=4 shiftwidth=4 expandtab
autocmd FileType yaml set expandtab ts=2 sw=2 enc=utf-8 fenc=utf-8

"===<search>========================
set magic
set ignorecase
set smartcase
set hlsearch
set incsearch

"===<status line>===================
set laststatus=2
set wildmenu
set ruler

"===<color>=========================
colorscheme desert

set listchars=tab:?|>
set list
highlight SpecialKey guifg=#555555
highlight ZenkakuSpace cterm=underline ctermfg=lightblue guibg=white
match ZenkakuSpace //


highlight Pmenu ctermbg=DarkGreen
highlight PmenuSel ctermbg=DarkBlue
highlight PmenuSbar ctermbg=DarkRed

"===<complete brace and quart, etc.>
inoremap { {}<LEFT>
inoremap [ []<LEFT>
inoremap ( ()<LEFT>
inoremap " ""<LEFT>
inoremap ' ''<LEFT>
"^V = Ctrl-v Ctrl-v
vnoremap { "zdi^V{<C-R>z}<ESC>
vnoremap [ "zdi^V[<C-R>z]<ESC>
vnoremap ( "zdi^V(<C-R>z)<ESC>
vnoremap " "zdi^V"<C-R>z^V"<ESC>
vnoremap ' "zdi'<C-R>z'<ESC>


"===<dictionary>====================
"FileTypeごとに辞書ファイルを設定
autocmd FileType perl :set dictionary+=~/.vim/dict/perl_functions.dict
"autocmd FileType php :set dictionary+=~/.vim/dict/php_functions.dict

"辞書ファイルを使用する設定に変更
"C-n C-p
set complete+=k

"===<Omni Compeletion>===================
"autocmd FileType python set omnifunc=pythoncomplete#Complete
"autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
"autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
""autocmd FileType php set omnifunc=phpcomplete#CompletePHP
autocmd FileType c set omnifunc=ccomplete#Complete

"===<yank/paste between each vim processes==
"sy is yanking to tmp file, sp or sP is paste
map <silent> sy :call YanktmpYank()<CR> 
map <silent> sp :call YanktmpPaste_p()<CR> 
map <silent> sP :call YanktmpPaste_P()<CR> 

.gvimrc

set lines=25
set columns=80
set cmdheight=1
set number

if has('mac')
	set guifont=Osaka-Mono:h14
else
	set transparency=200
	endif

gui
colorscheme desert
highlight SpecialKey guifg=#555555

highlight Pmenu	guibg=DarkGray
highlight Pmenusel guibg=DarkBlue
highlight PmenuSbar guibg=DarkRed

set guioptions=a