| 1 | " vi:set ts=8 sts=2 sw=2 tw=0: |
|---|
| 2 | " vim:fdm=marker fdl=0 fdc=0 fdo+=jump,search: |
|---|
| 3 | " vim:fdt=substitute(getline(v\:foldstart),'\\(.\*\\){\\{3}','\\1',''): |
|---|
| 4 | " Yasuhiro Matsumoto <mattn.jp@gmail.com> |
|---|
| 5 | "************************************************** |
|---|
| 6 | |
|---|
| 7 | "************************************************** |
|---|
| 8 | "* Vim Environment {{{ |
|---|
| 9 | "-------------------------------------------------- |
|---|
| 10 | if $MSYSTEM != '' |
|---|
| 11 | finish |
|---|
| 12 | endif |
|---|
| 13 | if &compatible==1 |
|---|
| 14 | set nocompatible |
|---|
| 15 | endif |
|---|
| 16 | set cmdheight=2 |
|---|
| 17 | set ignorecase |
|---|
| 18 | set smartcase |
|---|
| 19 | set tabstop=4 |
|---|
| 20 | set shiftwidth=4 |
|---|
| 21 | set history=50 |
|---|
| 22 | set noexpandtab |
|---|
| 23 | set autoindent |
|---|
| 24 | set backspace=indent,eol,start |
|---|
| 25 | set wrapscan |
|---|
| 26 | set noshowmatch |
|---|
| 27 | set wildmenu |
|---|
| 28 | set nonumber |
|---|
| 29 | set ruler |
|---|
| 30 | set nolist |
|---|
| 31 | set listchars=tab:>-,trail:-,eol:\| |
|---|
| 32 | set nowrap |
|---|
| 33 | set laststatus=2 |
|---|
| 34 | set showcmd |
|---|
| 35 | set noswapfile |
|---|
| 36 | set nobackup |
|---|
| 37 | set nohlsearch |
|---|
| 38 | set cinoptions=>4 |
|---|
| 39 | set visualbell |
|---|
| 40 | set incsearch |
|---|
| 41 | set isprint=@,~-247,249-255 |
|---|
| 42 | set tags=./tags,tags,../tags |
|---|
| 43 | if executable('grep') |
|---|
| 44 | if globpath(substitute($PATH, ';', ',', 'g'), 'grep.exe') =~ 'borland' |
|---|
| 45 | set grepprg=grep\ -no |
|---|
| 46 | else |
|---|
| 47 | set grepprg=grep\ -n |
|---|
| 48 | endif |
|---|
| 49 | endif |
|---|
| 50 | set shellslash |
|---|
| 51 | if $SSH_CLIENT != '' |
|---|
| 52 | set clipboard=autoselect,exclude:cons\\\|linux\\\|cygwin\\\|rxvt\\\|screen\\\|xterm |
|---|
| 53 | else |
|---|
| 54 | set clipboard=autoselect,exclude:cons\\\|linux\\\|cygwin\\\|rxvt\\\|screen |
|---|
| 55 | endif |
|---|
| 56 | set diffopt=filler,iwhite |
|---|
| 57 | if has('unix') && $SHELL == '' |
|---|
| 58 | set shell=/bin/bash |
|---|
| 59 | endif |
|---|
| 60 | if $TERM=='jfbterm' |
|---|
| 61 | "fixdel |
|---|
| 62 | endif |
|---|
| 63 | "let $GTK_IM_MODULE = 'xim' |
|---|
| 64 | "let $GDK_USE_XFT = 0 |
|---|
| 65 | " }}} |
|---|
| 66 | "************************************************** |
|---|
| 67 | |
|---|
| 68 | " ignore bram's example script. |
|---|
| 69 | let no_gvimrc_example=1 |
|---|
| 70 | let no_vimrc_example=1 |
|---|
| 71 | |
|---|
| 72 | "************************************************** |
|---|
| 73 | "* System Environment {{{ |
|---|
| 74 | "-------------------------------------------------- |
|---|
| 75 | if filereadable($VIM . '/vimrc') && filereadable($VIM . '/ViMrC') |
|---|
| 76 | set tags=./tags,tags |
|---|
| 77 | endif |
|---|
| 78 | |
|---|
| 79 | if $HOME=='' && has('win32') |
|---|
| 80 | let $HOME=$USERPROFILE |
|---|
| 81 | endif |
|---|
| 82 | |
|---|
| 83 | if $OSTYPE=='cygwin' || $TERM=='cygwin' || has('unix') |
|---|
| 84 | let $DESKTOP=$HOME.'/Desktop' |
|---|
| 85 | else |
|---|
| 86 | let $DESKTOP=$USERPROFILE."/\x83\x66\x83\x58\x83\x4e\x83\x67\x83\x62\x83\x76" |
|---|
| 87 | if !isdirectory($DESKTOP) |
|---|
| 88 | let $DESKTOP=$USERPROFILE."/\xC3\xDE\xBD\xB8\xC4\xAF\xCC\xDF" |
|---|
| 89 | endif |
|---|
| 90 | let $MYDOCUMENT=$USERPROFILE.'/My Documents' |
|---|
| 91 | endif |
|---|
| 92 | |
|---|
| 93 | " }}} |
|---|
| 94 | "************************************************** |
|---|
| 95 | |
|---|
| 96 | "************************************************** |
|---|
| 97 | "* Japanese Environment {{{ |
|---|
| 98 | "-------------------------------------------------- |
|---|
| 99 | if version >= 600 |
|---|
| 100 | if has('win32') |
|---|
| 101 | " if using win32 ... |
|---|
| 102 | if $LANG=='' || ($OSTYPE=='cygwin' && $TERM=='cygwin') |
|---|
| 103 | let $LANG='ja' |
|---|
| 104 | set encoding=cp932 |
|---|
| 105 | lang mes ja |
|---|
| 106 | endif |
|---|
| 107 | else |
|---|
| 108 | " if using cygwin console ... |
|---|
| 109 | if exists("$HOMEDRIVE") |
|---|
| 110 | set background=dark |
|---|
| 111 | if $LANG=='' |
|---|
| 112 | let $LANG='ja_JP.SJIS' |
|---|
| 113 | set encoding=cp932 |
|---|
| 114 | endif |
|---|
| 115 | if $TERM=='xterm-color' && !has('gui_running') |
|---|
| 116 | let $LANG='ja_JP.utf-8' |
|---|
| 117 | set encoding=utf-8 |
|---|
| 118 | language ja_JP.utf-8 |
|---|
| 119 | set langmenu=ja_jp.utf-8 |
|---|
| 120 | elseif $LANG=='ja.SJIS' || $LANG=='ja_JP.SJIS' |
|---|
| 121 | set encoding=cp932 |
|---|
| 122 | set langmenu=japanese_japan.932 |
|---|
| 123 | else |
|---|
| 124 | set encoding=euc-jp |
|---|
| 125 | set langmenu=ja_jp.eucjp |
|---|
| 126 | endif |
|---|
| 127 | " if using unix console ... |
|---|
| 128 | elseif $TERM=='kon' || $TERM=='kterm' |
|---|
| 129 | if $LANG =~ 'UTF' |
|---|
| 130 | set termencoding=euc-jp |
|---|
| 131 | set ambiwidth=double |
|---|
| 132 | else |
|---|
| 133 | let $LANG='ja' |
|---|
| 134 | set encoding=euc-jp |
|---|
| 135 | endif |
|---|
| 136 | else |
|---|
| 137 | "let $LANG='ja' |
|---|
| 138 | "set langmenu=ja_jp.eucjp |
|---|
| 139 | "set encoding=eucjp |
|---|
| 140 | endif |
|---|
| 141 | endif |
|---|
| 142 | endif |
|---|
| 143 | |
|---|
| 144 | if has('iconv') |
|---|
| 145 | let s:enc_euc = 'euc-jp' |
|---|
| 146 | let s:enc_jis = 'iso-2022-jp' |
|---|
| 147 | " check the supporting JISX0213 for iconv |
|---|
| 148 | if iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb" |
|---|
| 149 | let s:enc_euc = 'euc-jisx0213' |
|---|
| 150 | let s:enc_jis = 'iso-2022-jp-3' |
|---|
| 151 | endif |
|---|
| 152 | " build fileencodings |
|---|
| 153 | set fileencodings=iso-2022-jp-3,iso-2022-jp,euc-jisx0213,euc-jp,utf-8 |
|---|
| 154 | set fileencodings+=utf-8 |
|---|
| 155 | if &encoding =~# '^euc-\%(jp\|jisx0213\)$' |
|---|
| 156 | let &encoding = s:enc_euc |
|---|
| 157 | silent! let &encoding = 'eucjp-ms' |
|---|
| 158 | else |
|---|
| 159 | let &fileencodings = &fileencodings .','. s:enc_euc . ',eucjp-ms' |
|---|
| 160 | endif |
|---|
| 161 | set fileencodings+=cp932 |
|---|
| 162 | unlet s:enc_euc |
|---|
| 163 | unlet s:enc_jis |
|---|
| 164 | elseif executable('iconv') |
|---|
| 165 | function! CharConvert() |
|---|
| 166 | call system("iconv -f " . v:charconvert_from . " -t " . v:charconvert_to . " <" . v:fname_in . " >" . v:fname_out) |
|---|
| 167 | return v:shell_error |
|---|
| 168 | endfun |
|---|
| 169 | set charconvert=CharConvert() |
|---|
| 170 | endif |
|---|
| 171 | |
|---|
| 172 | " if windows, detect mac format |
|---|
| 173 | if $OSTYPE=='cygwin' || $TERM=='cygwin' || exists("$HOMEDRIVE") |
|---|
| 174 | set fileformats+=mac |
|---|
| 175 | endif |
|---|
| 176 | set fileformats+=mac |
|---|
| 177 | |
|---|
| 178 | " for printing |
|---|
| 179 | if has('printer') |
|---|
| 180 | if has('win32') |
|---|
| 181 | set printfont=FixedSys:h10 |
|---|
| 182 | elseif has("unix") |
|---|
| 183 | set printencoding=euc-jp |
|---|
| 184 | if exists('&printmbcharset') |
|---|
| 185 | set printmbcharset=JIS_X_1983 |
|---|
| 186 | set printmbfont=r:Ryumin-Light,b:Ryumin-Light,a:yes,c:yes |
|---|
| 187 | endif |
|---|
| 188 | endif |
|---|
| 189 | endif |
|---|
| 190 | |
|---|
| 191 | if exists('&formatoptions') |
|---|
| 192 | set formatoptions+=mB |
|---|
| 193 | let format_join_spaces=2 |
|---|
| 194 | let format_allow_over_tw=1 |
|---|
| 195 | endif |
|---|
| 196 | |
|---|
| 197 | if exists('&ambiwidth') && (has('gui_running') || $TERM=="cygwin") |
|---|
| 198 | " some xterm don't support cjk width |
|---|
| 199 | set ambiwidth=double |
|---|
| 200 | endif |
|---|
| 201 | " }}} |
|---|
| 202 | "************************************************** |
|---|
| 203 | |
|---|
| 204 | "************************************************** |
|---|
| 205 | "* Key Maps {{{ |
|---|
| 206 | "-------------------------------------------------- |
|---|
| 207 | if !exists('g:mapleader') |
|---|
| 208 | " for all mapleader |
|---|
| 209 | let g:mapleader = '\' |
|---|
| 210 | endif |
|---|
| 211 | |
|---|
| 212 | " expand path |
|---|
| 213 | cmap <c-x> <c-r>=expand('%:p:h')<cr>/ |
|---|
| 214 | " expand file (not ext) |
|---|
| 215 | cmap <c-z> <c-r>=expand('%:p:r')<cr> |
|---|
| 216 | " try tab completion |
|---|
| 217 | cmap <s-tab> <c-p> |
|---|
| 218 | " like windows |
|---|
| 219 | vnoremap p <Esc>:let current_reg = @"<CR>gvs<C-R>=current_reg<CR><Esc> |
|---|
| 220 | vmap <tab> >gv |
|---|
| 221 | vmap <s-tab> <gv |
|---|
| 222 | " quit with no erase |
|---|
| 223 | nmap <silent> gZZ :set t_te= t_ti= <cr>:quit<cr>:set t_te& t_ti&<cr> |
|---|
| 224 | " shell with no erase |
|---|
| 225 | nmap <silent> gsh :set t_te= t_ti= <cr>:sh<cr>:set t_te& t_ti&<cr> |
|---|
| 226 | " for file complete |
|---|
| 227 | cnoremap <c-g> <Space><BS> |
|---|
| 228 | nmap te :tabedit<cr> |
|---|
| 229 | nmap tc :tabclose<cr> |
|---|
| 230 | |
|---|
| 231 | if exists('&iminsert') |
|---|
| 232 | set iminsert=0 |
|---|
| 233 | set imsearch=0 |
|---|
| 234 | if !exists('&imoptions') |
|---|
| 235 | " for im_custom |
|---|
| 236 | inoremap <silent> <c-\> <c-o>:let &iminsert=(&iminsert==2?0:2)<cr> |
|---|
| 237 | endif |
|---|
| 238 | endif |
|---|
| 239 | |
|---|
| 240 | " toggle list |
|---|
| 241 | nmap <F2> :let &list=(&list == 1 ? 0 : 1)<cr> |
|---|
| 242 | " rotate tab size |
|---|
| 243 | nmap <silent> <F3> :let &ts=(&ts*2 > 16 ? 2 : &ts*2)<cr>:echo "tabstop:" . &ts<cr> |
|---|
| 244 | " toggle highlight search |
|---|
| 245 | nmap <F4> :let &hls=(&hls == 1 ? 0 : 1)<cr> |
|---|
| 246 | " like visual studio |
|---|
| 247 | nmap <F4> :copen<CR>\|:cnext<CR> |
|---|
| 248 | " like visual studio |
|---|
| 249 | nmap <S-F4> :copen<CR>\|:cprev<CR> |
|---|
| 250 | " download |
|---|
| 251 | nmap !D :exec "!wget " . expand('<cWORD>')<CR> |
|---|
| 252 | |
|---|
| 253 | function! Date() |
|---|
| 254 | return |
|---|
| 255 | \ strpart("SunMonTueWedThuFriSat", strftime("%w") * 3, 3). |
|---|
| 256 | \ strftime(", %d "). |
|---|
| 257 | \ strpart("JanFebMarAprMayJunJulAugSepOctNovDec", (strftime("%m")-1) * 3, 3). |
|---|
| 258 | \ strftime(" %Y") |
|---|
| 259 | endfunction |
|---|
| 260 | inoremap <m-d> <c-r>=Date()<cr> |
|---|
| 261 | " }}} |
|---|
| 262 | "************************************************** |
|---|
| 263 | |
|---|
| 264 | "************************************************** |
|---|
| 265 | "* Autocmd {{{ |
|---|
| 266 | "-------------------------------------------------- |
|---|
| 267 | autocmd BufNewFile,BufReadPost *.pc setf esqlc |
|---|
| 268 | autocmd FileType jsp,asp,php,xml,perl syntax sync minlines=500 maxlines=1000 |
|---|
| 269 | autocmd FileType python setlocal ts=4 sw=4 sta et sts ai |
|---|
| 270 | " }}} |
|---|
| 271 | "************************************************** |
|---|
| 272 | |
|---|
| 273 | "************************************************** |
|---|
| 274 | "* Syntax And Colorscheme {{{ |
|---|
| 275 | "-------------------------------------------------- |
|---|
| 276 | if isdirectory($VIMRUNTIME.'/syntax') |
|---|
| 277 | if &t_Co > 2 || has("gui_running") |
|---|
| 278 | syntax on |
|---|
| 279 | endif |
|---|
| 280 | if has("autocmd") |
|---|
| 281 | filetype plugin indent on |
|---|
| 282 | endif |
|---|
| 283 | autocmd BufReadPost * |
|---|
| 284 | \ silent! if line("'\"") > 0 && line("'\"") <= line("$") | |
|---|
| 285 | \ exe "normal g`\"" | |
|---|
| 286 | \ endif |
|---|
| 287 | endif |
|---|
| 288 | " colorscheme |
|---|
| 289 | if has("gui_running") |
|---|
| 290 | colorscheme rainbow_autumn |
|---|
| 291 | else |
|---|
| 292 | if $TERM=='rxvt' |
|---|
| 293 | silent! colorscheme blue |
|---|
| 294 | elseif $TERM=='cygwin' |
|---|
| 295 | silent! colorscheme autumn |
|---|
| 296 | else |
|---|
| 297 | silent! colorscheme torte |
|---|
| 298 | endif |
|---|
| 299 | endif |
|---|
| 300 | " }}} |
|---|
| 301 | "************************************************** |
|---|
| 302 | |
|---|
| 303 | scriptencoding utf-8 |
|---|
| 304 | |
|---|
| 305 | "************************************************** |
|---|
| 306 | "* Script Parameters {{{ |
|---|
| 307 | "-------------------------------------------------- |
|---|
| 308 | " for menu.vim |
|---|
| 309 | menutranslate Plugin プラグイン(&P) |
|---|
| 310 | |
|---|
| 311 | " for 2html.vim |
|---|
| 312 | let g:use_xhtml = 1 |
|---|
| 313 | let g:html_use_css = 1 |
|---|
| 314 | let g:html_no_pre = 1 |
|---|
| 315 | |
|---|
| 316 | " calenar.vim |
|---|
| 317 | let g:calendar_erafmt = '平成,-1988' |
|---|
| 318 | let g:calendar_mruler = |
|---|
| 319 | \'睦月,如月,弥生,卯月,皐月,水無月'. |
|---|
| 320 | \',文月,葉月,長月,神無月,霜月,師走' |
|---|
| 321 | let g:calendar_wruler = '日 月 火 水 木 金 土' |
|---|
| 322 | let g:calendar_weeknm = 4 |
|---|
| 323 | let g:calendar_navi_label = '前月,今月,次月' |
|---|
| 324 | |
|---|
| 325 | let g:calendar_diary = "~/.vim_diary" |
|---|
| 326 | let g:calendar_mark = 'left' |
|---|
| 327 | let g:calendar_navi = 'both' |
|---|
| 328 | |
|---|
| 329 | "* taglist.vim |
|---|
| 330 | autocmd CursorHold __Tag_List__ normal p |
|---|
| 331 | let g:icomplete_loaded = 1 |
|---|
| 332 | " }}} |
|---|
| 333 | "************************************************** |
|---|