| 1 | |
|---|
| 2 | " vi互換OFF(vimの独自拡張機能も使うため) |
|---|
| 3 | set nocompatible |
|---|
| 4 | |
|---|
| 5 | "set ambiwidth=double |
|---|
| 6 | |
|---|
| 7 | let g:github_user = "sasata299" |
|---|
| 8 | let g:github_token = "xxxxxxxxx" |
|---|
| 9 | |
|---|
| 10 | let twitvim_login = "sasata299:xxxxxxxxx" |
|---|
| 11 | let twitvim_count = 100 |
|---|
| 12 | |
|---|
| 13 | syntax on |
|---|
| 14 | filetype plugin indent on |
|---|
| 15 | |
|---|
| 16 | " # の行で改行したときなどに # をつけないように |
|---|
| 17 | autocmd FileType * setlocal formatoptions-=r |
|---|
| 18 | autocmd FileType * setlocal formatoptions-=o |
|---|
| 19 | |
|---|
| 20 | " 前回開いた場所を記憶する |
|---|
| 21 | if has("autocmd") |
|---|
| 22 | autocmd BufReadPost * |
|---|
| 23 | \ if line("'\"") > 0 && line ("'\"") <= line("$") | |
|---|
| 24 | \ exe "normal! g'\"" | |
|---|
| 25 | \ endif |
|---|
| 26 | endif |
|---|
| 27 | |
|---|
| 28 | " ファイルを開くたびに、そのファイルのディレクトリに移動する |
|---|
| 29 | autocmd BufEnter * execute ":lcd " . expand("%:p:h") |
|---|
| 30 | |
|---|
| 31 | set tags=~/.tags |
|---|
| 32 | set ignorecase |
|---|
| 33 | set smartcase |
|---|
| 34 | set wildmenu |
|---|
| 35 | set hidden |
|---|
| 36 | set expandtab |
|---|
| 37 | set tabstop=4 |
|---|
| 38 | set shiftwidth=4 |
|---|
| 39 | set softtabstop=0 |
|---|
| 40 | set smartindent |
|---|
| 41 | set history=50 |
|---|
| 42 | set backspace=indent,eol,start |
|---|
| 43 | set hlsearch |
|---|
| 44 | set directory-=. |
|---|
| 45 | |
|---|
| 46 | " 対応する括弧のやつが邪魔なのでこれで消しとく |
|---|
| 47 | let g:loaded_matchparen = 1 |
|---|
| 48 | |
|---|
| 49 | " 編集中のファイルのファイル名を変更 |
|---|
| 50 | command! -nargs=1 -complete=file Rename f <args>|call delete(expand('#')) |
|---|
| 51 | |
|---|
| 52 | augroup SkeletonAu |
|---|
| 53 | autocmd! |
|---|
| 54 | autocmd BufNewFile *.pl 0r $HOME/.vim/template/skel.pl |
|---|
| 55 | autocmd BufNewFile *.PL 0r $HOME/.vim/template/skel.PL |
|---|
| 56 | autocmd BufNewFile *.t 0r $HOME/.vim/template/skel.t |
|---|
| 57 | autocmd BufNewFile *.html 0r $HOME/.vim/template/skel.html |
|---|
| 58 | augroup END |
|---|
| 59 | |
|---|
| 60 | " for Java |
|---|
| 61 | let java_highlight_all=1 |
|---|
| 62 | let java_highlight_function="style" |
|---|
| 63 | let java_allow_cpp_keywords=1 |
|---|
| 64 | |
|---|
| 65 | " autocomplpop.vim の設定 |
|---|
| 66 | autocmd FileType perl :set dictionary=/usr/share/vim/vim71/syntax/perl.vim |
|---|
| 67 | autocmd FileType ruby :set dictionary=/usr/share/vim/vim71/syntax/ruby.vim |
|---|
| 68 | autocmd FileType java :set dictionary=/usr/share/vim/vim71/syntax/java.vim |
|---|
| 69 | autocmd FileType html :set dictionary=/usr/share/vim/vim71/syntax/html.vim |
|---|
| 70 | autocmd FileType javascript :set dictionary=/usr/share/vim/vim71/syntax/javascript.vim |
|---|
| 71 | highlight Pmenu ctermbg=8 ctermfg=6 |
|---|
| 72 | highlight PmenuSel ctermbg=4 ctermfg=2 |
|---|
| 73 | highlight PmenuSbar ctermbg=4 |
|---|
| 74 | "highlight Pmenu ctermbg=7 ctermfg=7 |
|---|
| 75 | "highlight PmenuSel ctermbg=2 ctermfg=7 |
|---|
| 76 | "highlight PmenuSbar ctermbg=2 |
|---|
| 77 | |
|---|
| 78 | |
|---|
| 79 | " rails.vim の設定 |
|---|
| 80 | let g:rails_level=4 |
|---|
| 81 | let g:rails_default_file="app/controllers/application.rb" |
|---|
| 82 | let g:rails_default_database="mysql" |
|---|
| 83 | |
|---|
| 84 | " surround.vim の設定 |
|---|
| 85 | let g:surround_103 = "('\r')" " 103 = g |
|---|
| 86 | let g:surround_71 = "(\"\r\")" " 71 = G |
|---|
| 87 | |
|---|
| 88 | " 括弧を挿入する |
|---|
| 89 | nmap gs cs'g |
|---|
| 90 | nmap gd cs"G |
|---|
| 91 | |
|---|
| 92 | nmap qds cs"' |
|---|
| 93 | nmap qsd cs'" |
|---|
| 94 | |
|---|
| 95 | " ステータスラインの設定 |
|---|
| 96 | set encoding=utf8 |
|---|
| 97 | set fileencodings=utf8,euc-jp,cp932,sjis |
|---|
| 98 | set laststatus=2 |
|---|
| 99 | set statusline=%<%f\%=\%m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}[line:%l][%p%%] |
|---|
| 100 | hi StatusLine term=NONE cterm=NONE ctermfg=white ctermbg=red |
|---|
| 101 | |
|---|
| 102 | autocmd FileType xml imap <BUFFER> << </<C-x><C-o> |
|---|
| 103 | autocmd FileType html imap <BUFFER> << </<C-x><C-o> |
|---|
| 104 | autocmd FileType perl :map <C-n> <ESC>:!perl -cw %<CR> |
|---|
| 105 | autocmd FileType perl :map <C-e> <ESC>:!perl %<CR> |
|---|
| 106 | autocmd FileType ruby :map <C-n> <ESC>:!ruby -cW %<CR> |
|---|
| 107 | autocmd FileType ruby :map <C-e> <ESC>:!ruby %<CR> |
|---|
| 108 | autocmd FileType ruby setlocal ts=2 sw=2 sts=0 |
|---|
| 109 | |
|---|
| 110 | " 画面分割したときに、サイズを自動調整 |
|---|
| 111 | nmap <C-w>w <C-w>w:call <SID>good_width()<CR> |
|---|
| 112 | function! s:good_width() |
|---|
| 113 | "if winheight(0) < 40 |
|---|
| 114 | " resize 40 |
|---|
| 115 | if winwidth(0) < 80 |
|---|
| 116 | vertical resize 80 |
|---|
| 117 | endif |
|---|
| 118 | endfunction |
|---|
| 119 | |
|---|
| 120 | " normal mode |
|---|
| 121 | nmap j gj |
|---|
| 122 | nmap k gk |
|---|
| 123 | nmap ; : |
|---|
| 124 | nmap U <C-r> |
|---|
| 125 | nmap T dt |
|---|
| 126 | nmap t ct |
|---|
| 127 | nmap tt yiw |
|---|
| 128 | nmap O :<C-u>call append(expand('.'), '')<CR>j |
|---|
| 129 | nmap <space>, :<C-u>edit $MYVIMRC<CR> |
|---|
| 130 | |
|---|
| 131 | " visual mode |
|---|
| 132 | vmap j gj |
|---|
| 133 | vmap k gk |
|---|
| 134 | vmap ; : |
|---|
| 135 | |
|---|
| 136 | " 選択範囲のみ検索 |
|---|
| 137 | vmap / /\%V |
|---|
| 138 | vmap ? ?\%V |
|---|
| 139 | |
|---|
| 140 | " command mode |
|---|
| 141 | cmap qq q! |
|---|
| 142 | cmap AA Align= |
|---|
| 143 | |
|---|
| 144 | " insert mode(CR = Enter) |
|---|
| 145 | imap <C-j> <C-[> |
|---|
| 146 | imap <C-k> <C-m> |
|---|
| 147 | imap { {}<LEFT> |
|---|
| 148 | imap [ []<LEFT> |
|---|
| 149 | imap ( ()<LEFT> |
|---|
| 150 | imap <C-l> <RIGHT> |
|---|
| 151 | |
|---|
| 152 | |
|---|
| 153 | " ------------------------------- |
|---|
| 154 | " Tips |
|---|
| 155 | " ------------------------------- |
|---|
| 156 | " f? で特定の単語まで移動できる |
|---|
| 157 | " dt? で特定の単語まで削除 |
|---|
| 158 | " 数字の上で Ctrl-a でインクリメント、Crtl-x でデクリメント |
|---|
| 159 | " :%s//aaa/ で最後に検索した文字を aaa に置換 |
|---|
| 160 | " :set fenc=*** でファイルエンコードを変更 |
|---|
| 161 | " :e ++enc=*** でファイルエンコードを変更して開き直し |
|---|
| 162 | " :e! でファイルを開きなおす |
|---|
| 163 | " w で単語単位で進む。b で単語単位で戻る。 |
|---|
| 164 | |
|---|