.vimrc.vam 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  1. " coding:utf-8
  2. " ζ*'ヮ')ζ ζ(*'ヮ'リ+
  3. "
  4. set ignorecase
  5. set smartcase
  6. set tabstop=2
  7. set expandtab
  8. set autoindent
  9. set backspace=2
  10. set wrapscan
  11. set showmatch
  12. set wildmenu
  13. set formatoptions+=mM
  14. set softtabstop=2
  15. set shiftwidth=4
  16. set fileencodings=utf-8,sjis,cp932,euc-jp,default,latin
  17. set number
  18. set ruler
  19. set nolist
  20. set wrap
  21. set laststatus=2
  22. set cmdheight=2
  23. set showcmd
  24. set title
  25. set hlsearch
  26. colorscheme evening
  27. syntax on
  28. set enc=utf8
  29. " ファイル名に大文字小文字の区別がないシステム用の設定:
  30. " (例: DOS/Windows/MacOS)
  31. "
  32. if filereadable($VIM . '/vimrc') && filereadable($VIM . '/ViMrC')
  33. " tagsファイルの重複防止
  34. set tags=./tags,tags
  35. endif
  36. " コンソールでのカラー表示のための設定(暫定的にUNIX専用)
  37. if has('unix') && !has('gui_running')
  38. let uname = system('uname')
  39. if uname =~? "linux"
  40. set term=builtin_linux
  41. elseif uname =~? "freebsd"
  42. set term=builtin_cons25
  43. elseif uname =~? "Darwin"
  44. set term=beos-ansi
  45. else
  46. set term=builtin_xterm
  47. endif
  48. unlet uname
  49. endif
  50. " コンソール版で環境変数$DISPLAYが設定されていると起動が遅くなる件へ対応
  51. if !has('gui_running') && has('xterm_clipboard')
  52. set clipboard=exclude:cons\\\|linux\\\|cygwin\\\|rxvt\\\|screen
  53. endif
  54. " タブページの切り替えをWindowsのように
  55. " CTRL+Tab SHIFT+Tabで行うように.
  56. if v:version >= 700
  57. nnoremap <C-Tab> gt
  58. nnoremap <C-S-Tab> gT
  59. endif
  60. if has('+regexpengine')
  61. set re=0
  62. endif
  63. set nocompatible
  64. filetype off
  65. if has('vim_starting')
  66. set runtimepath+=~/.vim/vim-addon-manager
  67. endif
  68. call vam#ActivateAddons(['github:Shougo/unite.vim','github:Shougo/vimfiler'])
  69. filetype plugin indent on
  70. set ww+=h,l,>,<,[,]
  71. set mouse=a
  72. set ttymouse=xterm2
  73. set clipboard=unnamedplus
  74. " ,is: シェルを起動
  75. nnoremap <silent> ,is :VimShell<CR>
  76. " ,ipy: pythonを非同期で起動
  77. nnoremap <silent> ,ipy :VimShellInteractive python<CR>
  78. " ,irb: irbを非同期で起動
  79. nnoremap <silent> ,irb :VimShellInteractive irb<CR>
  80. " ,ss: 非同期で開いたインタプリタに現在の行を評価させる
  81. vmap <silent> ,ss :VimShellSendString<CR>
  82. " 選択中に,ss: 非同期で開いたインタプリタに選択行を評価させる
  83. nnoremap <silent> ,ss <S-v>:VimShellSendString<CR>
  84. " ,vs: vimshell
  85. nnoremap <silent> ,vs :tabnew +VimShell<CR>
  86. " ,vr: .vimrc
  87. nnoremap <silent> ,vr :tabnew ~/.vimrc<CR>:lcd<CR>
  88. nnoremap <silent> ,so :so ~/.vimrc<CR>
  89. nnoremap <silent> ,nu :tabnew +Unite\ neobundle/update<CR>
  90. nnoremap <silent> ,ll :tabnew +LingrLaunch<CR>
  91. nnoremap <Esc><Esc> :nohlsearch<CR><ESC>
  92. let g:vimfiler_as_default_explorer = 1
  93. "let g:neocomplcache#sources#rsense#home_directory = '/opt/rsense-0.3/'
  94. "tabで補完候補の選択を行う
  95. inoremap <expr><TAB> pumvisible() ? "\<Down>" : "\<TAB>"
  96. inoremap <expr><S-TAB> pumvisible() ? "\<Up>" : "\<S-TAB>"
  97. let g:OmniSharp_host = 'http://localhost:2020'
  98. let g:OmniSharp_typeLookupInPreview = 1
  99. set noshowmatch
  100. autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS
  101. autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags
  102. autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS
  103. autocmd FileType python setlocal omnifunc=pythoncomplete#Complete
  104. autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags
  105. autocmd FileType cs setlocal omnifunc=OmniSharp#Complete
  106. let g:netrw_nogx = 1
  107. nmap gx <Plug>(openbrowser-smart-search)
  108. vmap gx <Plug>(openbrowser-smart-search)
  109. let g:quickrun_config = {}
  110. let g:quickrun_config['markdown'] = {
  111. \ 'outputter': 'browser'
  112. \ }
  113. let g:quickrun_config.ruby = {
  114. \ 'command': 'ruby',
  115. \ 'exec': '/usr/bin/env ruby %s',
  116. \ 'tempfile': '{tempname()}.rb'
  117. \ }
  118. let g:quickrun_config = {
  119. \ 'cpp': {
  120. \ 'cmdopt': '-std=c++11 -Wall'
  121. \ }
  122. \ }
  123. let g:quickrun_config = {
  124. \ '_' : {
  125. \ 'hook/close_unite_quickfix/enable_hook_loaded' : 1,
  126. \ 'hook/unite_quickfix/enable_failure' : 1,
  127. \ 'hook/close_quickfix/enable_exit' : 1,
  128. \ 'hook/close_buffer/enable_failure' : 1,
  129. \ 'hook/close_buffer/enable_empty_data' : 1,
  130. \ 'outputter' : 'multi:buffer:quickfix',
  131. \ 'hook/u_nya_/enable' : 1,
  132. \ 'hook/sweep/enable' : 0,
  133. \ 'outputter/buffer/split' : ':botright 15sp',
  134. \ 'outputter/buffer/running_mark' : 'バン(∩`・ω・)バンバンバンバン゙ン',
  135. \ 'runner' : 'vimproc',
  136. \ 'runner/vimproc/updatetime' : 40,
  137. \ 'runner/vimproc/sleep' : 0,
  138. \ }
  139. \ }
  140. let g:lingr_vim_user = 'raa0121'
  141. let g:J6uil_display_offline = 0
  142. let g:J6uil_display_online = 0
  143. let g:J6uil_echo_presence = 1
  144. let g:J6uil_display_icon = 0
  145. let g:J6uil_display_interval = 0
  146. let g:J6uil_updatetime = 1000
  147. let QFixHowm_Key = 'g'
  148. let howm_dir = '~/howm'
  149. let howm_filename = '%Y/%m/%Y-%m-%d-%H%M%S.txt'
  150. let howm_fileencoding = 'utf-8'
  151. let howm_fileformat = 'unix'
  152. let mygrepprg = 'grep'
  153. let MyGrep_cygwin17 = 1
  154. augroup plugin-lingr-vim
  155. autocmd!
  156. autocmd FileType lingr-messages nmap <silent> <buffer> t <Plug>(lingr-messages-show-say-buffer)
  157. autocmd FileType lingr-say let &syntax='clojure'
  158. augroup END
  159. augroup vimrc
  160. autocmd!
  161. augroup END
  162. function! s:SID_PREFIX()
  163. return matchstr(expand('<sfile>'), '<SNR>\d\+_')
  164. endfunction
  165. set titlelen=100
  166. set guioptions-=e
  167. autocmd vimrc BufEnter * let &titlestring = '%{' . s:SID_PREFIX() . 'titlestring()}'
  168. autocmd vimrc User plugin-lingr-unread let &titlestring = '%{' . s:SID_PREFIX() . 'titlestring()}'
  169. if exists('$TMUX') || exists('$WINDOW')
  170. set t_ts=k
  171. set t_fs=\
  172. endif
  173. function! s:titlestring()
  174. if &filetype =~ '^lingr'
  175. let &titlestring = 'lingr: ' . lingr#unread_count()
  176. else
  177. let &titlestring = bufname('')
  178. endif
  179. endfunction
  180. " tabline
  181. set showtabline=2 " always show tabline
  182. let &tabline = '%!' . s:SID_PREFIX() . 'tabline()'
  183. function! s:tabline()
  184. " show each tab
  185. let s = ''
  186. for i in range(1, tabpagenr('$'))
  187. let list = tabpagebuflist(i)
  188. let nr = tabpagewinnr(i)
  189. let current_tabnr = tabpagenr()
  190. "let title = bufname('')
  191. if i == current_tabnr
  192. let title = fnamemodify(getcwd(), ':t') . '/'
  193. "let title = bufname('')
  194. else
  195. let title = fnamemodify(gettabvar(i, 'cwd'), ':t') . '/'
  196. endif
  197. let title = empty(title) ? '[No Name]' : title
  198. let s .= i == current_tabnr ? '%#TabLineSel#' : '%#TabLine#'
  199. let s .= '%' . i . 'T[' . i . '] ' . title
  200. let s .= ' '
  201. endfor
  202. " show lingr unread count
  203. let lingr_unread = ""
  204. if exists('*lingr#unread_count')
  205. let lingr_unread_count = lingr#unread_count()
  206. if lingr_unread_count > 0
  207. let lingr_unread = "%#ErrorMsg#(" . lingr_unread_count . ")"
  208. elseif lingr_unread_count == 0
  209. let lingr_unread = "()"
  210. endif
  211. endif
  212. " build tabline
  213. let s .= '%#TabLineFill#%T%=%<[' . getcwd() . ']' . lingr_unread
  214. return s
  215. endfunction
  216. augroup vimrc-scratch-buffer
  217. autocmd!
  218. " Make a scratch buffer when unnamed buffer.
  219. autocmd BufEnter * call s:scratch_buffer()
  220. autocmd FileType qfreplace autocmd! vimrc-scratch * <buffer>
  221. function! s:scratch_buffer()
  222. if exists('b:scratch_buffer') || bufname('%') !=# '' || &l:buftype !=# ''
  223. return
  224. endif
  225. let b:scratch_buffer = 1
  226. call openbuf#add('scratch', bufnr('%'))
  227. setlocal buftype=nofile nobuflisted noswapfile bufhidden=hide
  228. augroup vimrc-scratch
  229. autocmd! * <buffer>
  230. autocmd BufWriteCmd <buffer> call s:scratch_on_BufWriteCmd()
  231. augroup END
  232. endfunction
  233. function! s:scratch_on_BufWriteCmd()
  234. silent! setl buftype< buflisted< swapfile< bufhidden< nomodified
  235. autocmd! vimrc-scratch * <buffer>
  236. if bufname('%') ==# '' && exists('b:scratch_buffer')
  237. execute 'saveas' . (v:cmdbang ? '!' : '') ' <afile>'
  238. filetype detect
  239. endif
  240. call openbuf#remove('scratch', bufnr('%'))
  241. unlet! b:scratch_buffer
  242. endfunction
  243. augroup END
  244. command! -nargs=? ExtractMatches let s:pat = empty(<q-args>) ? @/ : <q-args> | let s:result = filter(getline(1, '$'), 'v:val =~# s:pat') | new | put =s:result
  245. command! -nargs=? UniGrep let s:pat = empty(<q-args>) ? @/ : <q-args> | execute 'Unite grep:%::' . escape(s:pat, '\')
  246. let g:github_user = 'raa0121'
  247. let g:github_token = 'e3ded9cf6669cc31dbca'
  248. let g:github#user = 'raa0121'