Created
December 7, 2010 16:31
-
-
Save aisuii/732002 to your computer and use it in GitHub Desktop.
う
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set nocompatible | |
set nobackup | |
set hidden | |
set history=100 | |
filetype plugin indent on | |
scriptencoding utf-8 | |
autocmd! | |
set backspace=indent,eol,start | |
" indent | |
set autoindent smartindent | |
set expandtab | |
set tabstop=4 softtabstop=4 shiftwidth=4 | |
autocmd FileType ruby setlocal tabstop=2 softtabstop=2 shiftwidth=2 | |
autocmd FileType make setlocal noexpandtab | |
" appearance | |
set background=dark | |
colorscheme slate | |
syntax enable | |
set showmatch | |
set wrap | |
set number | |
set ruler | |
set showcmd | |
set list | |
set listchars=tab:>-,eol:< | |
set laststatus=2 | |
set statusline=%<%f[%n]\ %m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']('.(&ft!=''?&ft:'Fundamental').')'}%=%l,%c%V%8P | |
highlight ZenkakuSpace cterm=underline ctermfg=DarkYellow guibg=DarkYellow | |
autocmd VimEnter,WinEnter,BufWinEnter * match ZenkakuSpace / / | |
" tabline | |
function! MyTabLabel(n) | |
let buflist = tabpagebuflist(a:n) | |
let winnr = tabpagewinnr(a:n) | |
let buflen = tabpagewinnr(a:n, '$') | |
let bufname = fnamemodify(bufname(buflist[winnr - 1]), ':t') | |
let label = a:n . ": " | |
let label .= bufname == '' ? 'No name' : bufname | |
let label .= '[' . buflen . ']' | |
return label | |
endfunction | |
function! MyTabLine() | |
let s = '' | |
for i in range(tabpagenr('$')) | |
if i + 1 == tabpagenr() | |
let s .= '%#TabLineSel#' | |
else | |
let s .= '%#TabLine#' | |
endif | |
let s .= '%' . (i + 1) . 'T' | |
let s .= ' %{MyTabLabel(' . (i + 1) . ')} ' | |
endfor | |
let s .= '%#TabLineFill#%T' | |
if tabpagenr('$') > 1 | |
let s .= '%=%#TabLine#%999Xx' | |
endif | |
return s | |
endfunction | |
set tabline=%!MyTabLine() | |
set showtabline=2 | |
highlight TabLine term=reverse cterm=reverse ctermfg=white ctermbg=black | |
highlight TabLineSel term=underline cterm=underline ctermfg=red ctermbg=black | |
highlight TabLineFill term=reverse cterm=reverse ctermfg=white ctermbg=black | |
"highlight Pmenu ctermfg=black ctermbg=Gray | |
"highlight PmenuSel term=reverse ctermfg=red ctermbg=black | |
"highlight PmenuSbar ctermfg=Gray ctermbg=white | |
" search | |
set hlsearch | |
set wrapscan | |
set noincsearch | |
set ignorecase | |
set smartcase | |
" mapping | |
nnoremap j gj | |
nnoremap k gk | |
vnoremap j gj | |
vnoremap k gk | |
nnoremap gj j | |
nnoremap gk k | |
vnoremap gj j | |
vnoremap gk k | |
nnoremap <silent> <Space>n :<C-u>n<CR> | |
nnoremap <silent> <Space>N :<C-u>N<CR> | |
nnoremap <silent> <Space>p :<C-u>prev<CR> | |
nnoremap <silent> <Space>tf :<C-u>tabfirst<CR> | |
nnoremap <silent> <Space>tl :<C-u>tablast<CR> | |
nnoremap <silent> <Space>tn :<C-u>tabn<CR> | |
nnoremap <silent> <Space>tN :<C-u>tabN<CR> | |
nnoremap <silent> <Space>tp :<C-u>tabp<CR> | |
nnoremap <silent> <Space>te :<C-u>tabe<CR> | |
nnoremap <silent> <Space>tc :<C-u>tabc<CR> | |
nnoremap <silent> <Space>to :<C-u>tabo<CR> | |
nnoremap <silent> <Space>bf :<C-u>br<CR> | |
nnoremap <silent> <Space>bl :<C-u>bl<CR> | |
nnoremap <silent> <Space>bn :<C-u>bn<CR> | |
nnoremap <silent> <Space>bN :<C-u>bN<CR> | |
nnoremap <silent> <Space>bp :<C-u>bp<CR> | |
nnoremap <silent> <Space>cf :<C-u>crew<CR> | |
nnoremap <silent> <Space>cl :<C-u>cla<CR> | |
nnoremap <silent> <Space>cn :<C-u>cn<CR> | |
nnoremap <silent> <Space>cN :<C-u>cN<CR> | |
nnoremap <silent> <Space>cp :<C-u>cp<CR> | |
nnoremap <silent> <Space>r :<C-u>registers<CR> | |
nnoremap <silent> <Space>l :<C-u>ls<CR> | |
nnoremap <silent> <Space>m :<C-u>marks<CR> | |
nnoremap <silent> <Space>j :<C-u>tabs<CR> | |
nnoremap <silent> <Space>g :<C-u>tags<CR> | |
nnoremap <silent> <Space>. :<C-u>edit $MYVIMRC<CR> | |
function! s:toggle_quickfix_window() | |
" toggle quickfixwindow | |
" http://d.hatena.ne.jp/kuhukuhun/20090119/1232343733 | |
let _ = winnr('$') | |
cclose | |
if _ == winnr('$') | |
cwindow | |
endif | |
endfunction | |
nnoremap <silent> <Space>q :<C-u>call <SID>toggle_quickfix_window()<CR> | |
" cmd | |
set wildmenu | |
"set wildmode=list:longest | |
" strftime | |
command! -nargs=0 AppendDate :execute "normal a".strftime("%Y-%m-%d") | |
command! -nargs=0 AppendNow :execute "normal a".strftime("%c") | |
command! -nargs=0 AppendTime :execute "normal a".strftime("%H:%M") | |
" enc, fenc | |
command! -bang -nargs=? Utf8Edit edit<bang> ++enc=utf-8 <args> | |
command! -bang -nargs=? EucjpEdit edit<bang> ++enc=euc-jp <args> | |
command! -bang -nargs=? SjisEdit edit<bang> ++enc=sjis <args> | |
command! -bang -nargs=? Cp932Edit edit<bang> ++enc=cp932 <args> | |
command! -nargs=0 Utf8Set setlocal fenc=utf-8 | |
command! -nargs=0 EucjpSet setlocal fenc=euc-jp | |
command! -nargs=0 SjisSet setlocal fenc=sjis | |
nnoremap <Leader>eu :<C-u>Utf8Edit<CR> | |
nnoremap <Leader>ee :<C-u>EucjpEdit<CR> | |
nnoremap <Leader>es :<C-u>SjisEdit<CR> | |
nnoremap <Leader>ec :<C-u>Cp932Edit<CR> | |
nnoremap <Leader>su :<C-u>Utf8Set<CR> | |
nnoremap <Leader>se :<C-u>EucjpSet<CR> | |
nnoremap <Leader>ss :<C-u>SjisSet<CR> | |
" encoding | |
" http://www.kawaz.jp/pukiwiki/?vim#cb691f26 | |
if &encoding !=# 'utf-8' | |
set encoding=japan | |
set fileencoding=japan | |
endif | |
if has('iconv') | |
let s:enc_euc = 'euc-jp' | |
let s:enc_jis = 'iso-2022-jp' | |
" iconvがeucJP-msに対応しているかをチェック | |
if iconv("\x87\x64\x87\x6a", 'cp932', 'eucjp-ms') ==# "\xad\xc5\xad\xcb" | |
let s:enc_euc = 'eucjp-ms' | |
let s:enc_jis = 'iso-2022-jp-3' | |
" iconvがJISX0213に対応しているかをチェック | |
elseif 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 | |
" fileencodingsを構築 | |
if &encoding ==# 'utf-8' | |
let s:fileencodings_default = &fileencodings | |
let &fileencodings = s:enc_jis .','. s:enc_euc .',cp932' | |
let &fileencodings = &fileencodings .','. s:fileencodings_default | |
unlet s:fileencodings_default | |
else | |
let &fileencodings = &fileencodings .','. s:enc_jis | |
set fileencodings+=utf-8,ucs-2le,ucs-2 | |
if &encoding =~# '^\(euc-jp\|euc-jisx0213\|eucjp-ms\)$' | |
set fileencodings+=cp932 | |
set fileencodings-=euc-jp | |
set fileencodings-=euc-jisx0213 | |
set fileencodings-=eucjp-ms | |
let &encoding = s:enc_euc | |
let &fileencoding = s:enc_euc | |
else | |
let &fileencodings = &fileencodings .','. s:enc_euc | |
endif | |
endif | |
" 定数を処分 | |
unlet s:enc_euc | |
unlet s:enc_jis | |
endif | |
" 日本語を含まない場合は fileencoding に encoding を使うようにする | |
if has('autocmd') | |
function! AU_ReCheck_FENC() | |
if &fileencoding =~# 'iso-2022-jp' && search("[^\x01-\x7e]", 'n') == 0 | |
let &fileencoding=&encoding | |
endif | |
endfunction | |
autocmd BufReadPost * call AU_ReCheck_FENC() | |
endif | |
" 改行コードの自動認識 | |
set fileformats=unix,dos,mac | |
" □とか○の文字があってもカーソル位置がずれないようにする | |
if exists('&ambiwidth') | |
set ambiwidth=double | |
endif | |
"" plugins | |
" skk.vim | |
let skk_jisyo = $VIM . '/vimfiles/plugin/skk/skk-jisyo' | |
let skk_large_jisyo = $VIM . '/vimfiles/plugin/skk/SKK-JISYO.L' | |
let skk_auto_save_jisyo = 1 | |
let skk_keep_state = 0 | |
let skk_egg_like_newline = 0 | |
let skk_show_annotation = 1 | |
let skk_use_face = 1 | |
" hatena.vim | |
set runtimepath+=$VIM/runtime/plugin/hatena/ | |
let g:hatena_always_trivial = 1 | |
let g:hatena_hold_cookie = 0 | |
let g:hatena_user = $LOGNAME | |
let g:hatena_users = [$LOGNAME] | |
nnoremap <Leader>hu :HatenaUser | |
" ack.vim | |
let g:AckCmd = '~/bin/ack' | |
" TODO: sort css property ha ftplugin ni kakou | |
" http://d.hatena.ne.jp/secondlife/20060831/1157010796 | |
nmap gso vi{:!~/bin/sortcss<CR> | |
vmap gso i{:!~/bin/sortcss<CR> | |
" yankring.vim | |
let g:yankring_history_dir = '$VIM/vimfiles' | |
let g:yankring_max_history = 200 | |
let g:yankring_max_display = 200 | |
let g:yankring_window_use_separate = 1 | |
let g:yankring_window_height = 13 | |
nnoremap <silent> <Space>y :YRShow<CR> | |
command! -nargs=1 Y YRSearch <args> | |
" tabrecent.vim | |
command! -bang -nargs=? T TabRecent<bang> <args> | |
nnoremap <silent> <Space>tt :<C-u>TabRecent<CR> | |
" surround.vim | |
let g:surround_{char2nr("-")} = "<% \r %>" | |
let g:surround_{char2nr("=")} = "<%= \r %>" | |
let g:surround_{char2nr("n")} = "<\1tagname: \r..*\r&\1\2attribute: \r..*\r &\2\3value: \r..*\r=\"&\"\3>\r</\1\1>" | |
let g:surround_{char2nr("a")} = "<a href=\"\r\">\1link\ text: \1</a>" | |
" ku.vim | |
nnoremap <silent> <Space>ff :<C-u>Ku file<CR> | |
nnoremap <silent> <Space>fb :<C-u>Ku buffer<CR> | |
nnoremap <silent> <Space>fm :<C-u>Ku file_mru<CR> | |
nnoremap <silent> <Space>cm :<C-u>Ku cmd_mru/cmd<CR> | |
nnoremap <silent> <Space>sm :<C-u>Ku cmd_mru/search<CR> | |
nnoremap <silent> <Space>ku :<C-u>Ku source<CR> | |
let g:ku_file_mru_limit=1000 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment