Created
April 25, 2012 03:13
-
-
Save hagino3000/2485920 to your computer and use it in GitHub Desktop.
My .vimrc
This file contains 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
" viとの互換性をOFF | |
set nocompatible | |
" エンコーディング設定 | |
set enc=utf-8 | |
set fencs=iso-2022-jp,euc-jp,cp932,utf-8 | |
set ambiwidth=double | |
" 検索機能の設定 | |
set ignorecase | |
set smartcase | |
set incsearch | |
set nohlsearch | |
set nowrapscan | |
" インデントの共通設定 | |
set autoindent | |
set smartindent | |
set cindent | |
set tabstop=2 | |
set shiftwidth=2 | |
set expandtab | |
" 行番号などの表示回り | |
set number | |
set noruler | |
set nolist | |
set showmatch | |
set wrap | |
set title | |
set showcmd | |
set cmdheight=2 | |
set laststatus=2 | |
set statusline=%<%f\ %m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'} | |
set wildmenu | |
set nocursorline | |
set backspace=2 | |
set scrolloff=5 | |
set formatoptions+=mM | |
let format_join_spaces = 4 | |
let format_allow_over_tw = 1 | |
set nobackup | |
set history=1000 | |
set mouse=a | |
set restorescreen | |
set hidden | |
set browsedir=current | |
set imdisable | |
set iminsert=1 | |
set imsearch=1 | |
syntax on | |
" ==================================================== | |
" vundle settings | |
" ==================================================== | |
filetype off | |
set rtp+=~/.vim/bundle/vundle/ | |
call vundle#rc() | |
" let Vundle manage Vundle | |
" required! | |
Bundle 'gmarik/vundle' | |
" My Bundles here: | |
" | |
" original repos on github | |
Bundle 'tpope/vim-fugitive' | |
Bundle 'Lokaltog/vim-easymotion' | |
"Bundle 'rstacruz/sparkup', {'rtp': 'vim/'} | |
" vim-scripts repos | |
Bundle 'L9' | |
Bundle 'FuzzyFinder' | |
Bundle 'vcscommand.vim' | |
Bundle 'octave.vim' | |
Bundle 'QuickBuf' | |
Bundle 'scratch' | |
Bundle 'skk.vim-B' | |
Bundle 'sudo.vim' | |
Bundle 'The-NERD-tree' | |
Bundle 'neocomplcache' | |
Bundle 'Javascript-syntax-with-Ajax-Support' | |
Bundle 'Simple-Javascript-Indenter' | |
" non github repos | |
Bundle 'git://git.wincent.com/command-t.git' | |
" Brief help | |
" :BundleList - list configured bundles | |
" :BundleInstall(!) - install(update) bundles | |
" :BundleSearch(!) foo - search(or refresh cache first) for foo | |
" :BundleClean(!) - confirm(or auto-approve) removal of unused bundles | |
" | |
" see :h vundle for more details or wiki for FAQ | |
" NOTE: comments after Bundle command are not allowed.. | |
" ========================================================== | |
filetype indent on | |
filetype plugin indent on | |
filetype plugin on | |
autocmd FileType ruby set tabstop=2 tw=0 sw=2 expandtab | |
autocmd FileType eruby set tabstop=2 tw=0 sw=2 expandtab | |
autocmd FileType html set tabstop=2 | |
autocmd FileType javascript set tabstop=2 tw=0 sw=2 fenc=utf-8 expandtab | |
autocmd FileType python set tabstop=4 tw=0 sw=4 fenc=utf-8 expandtab | |
autocmd FileType cpp set tabstop=4 tw=0 sw=4 fenc=utf-8 expandtab | |
autocmd BufRead /tmp/crontab.* :set nobackup nowritebackup | |
autocmd BufNewFile,BufRead app/*/*.rhtml set ft=mason fenc=utf-8 | |
autocmd BufNewFile,BufRead app/**/*.rb set ft=ruby fenc=utf-8 | |
autocmd BufNewFile,BufRead app/**/*.yml set ft=ruby fenc=utf-8 | |
autocmd FileType c hi Comment ctermfg=darkcyan | |
autocmd FileType cpp hi Comment ctermfg=darkcyan | |
"===================== Plugin settings ===================== | |
" SKK | |
let skk_jisyo = "/Users/t-nishibayashi/Library/Application Support/AquaSKK/skk-jisyo.utf8" | |
let skk_large_jisyo = "/Users/t-nishibayashi/Library/Application Support/AquaSKK/SKK-JISYO.L" | |
let skk_egg_like_newline = 1 | |
" rails.vim | |
let g:rails_level=4 | |
let g:rails_default_file="app/controllers/application.rb" | |
let g:rails_default_database="sqlite3" | |
" rubycomplete.vim | |
autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete | |
autocmd FileType ruby,eruby let g:rubycomplete_buffer_loading = 1 | |
autocmd FileType ruby,eruby let g:rubycomplete_rails = 1 | |
autocmd FileType ruby,eruby let g:rubycomplete_classes_in_global = 1 | |
" neocomplecache | |
let g:neocomplcache_enable_at_startup = 1 | |
let g:neocomplcache_auto_completion_start_length = 4 | |
" path | |
let &path="~/dev/workspace,~" | |
let main_syntax="html" | |
"======================= Key Mappings ====================== | |
let mapleader = ',' | |
nnoremap <Space>w :<C-u>update<CR> | |
nnoremap <Space>. :<C-u>edit $MYVIMRC<Enter> | |
nnoremap <Space>s. :<C-u>source $MYVIMRC<Enter> | |
" help | |
nnoremap <expr> <Space>h ':<C-u>help ' . expand('<cword>') . '<CR>' | |
" line feed | |
noremap j gj | |
noremap k gk | |
noremap gj j | |
noremap gk k | |
" scratch.vim | |
nnoremap <leader>so :<C-u>ScratchOpen<CR> | |
nnoremap <leader>sc :<C-u>ScratchClose<CR> | |
" Use ClipBoard | |
vmap <silent> sy :!pbcopy; pbpaste<CR> | |
map <silent> sp v:!pbpaste<CR> | |
" javascript | |
autocmd FileType javascript nnoremap ,jsl :!gjslint --custom_jsdoc_tags 'xtype,event,singleton' %<CR> | |
autocmd FileType javascript nnoremap ,jsf :!fixjsstyle --custom_jsdoc_tags 'xtype,event,singleton' %<CR> | |
autocmd FileType javascript inoremap <buffer> fff function( | |
autocmd FileType javascript inoremap <buffer> iie console.error();<LEFT><LEFT> | |
autocmd FileType javascript inoremap <buffer> iii console.log();<LEFT><LEFT> | |
autocmd FileType javascript inoremap <buffer> iid console.dir();<LEFT><LEFT> | |
" python | |
autocmd FileType python nnoremap <leader>py :<C-u>!python %<Enter> | |
" insert date | |
inoremap <expr> ,df strftime('%Y-%m-%dT%H:%M:%S') | |
inoremap <expr> ,dd strftime('%Y-%m-%d') | |
inoremap <expr> ,dt strftime('%H:%M:%S') | |
" select last changed text | |
nnoremap gc `[v`] | |
vnoremap gc :<C-u>normal gc<Enter> | |
onoremap gc :<C-u>normal gc<Enter> | |
" search | |
nmap n nzz | |
nmap N Nzz | |
nmap * *zz | |
nmap # #zz | |
nmap g* g*zz | |
nmap g# g#zz | |
" Auto complete | |
vnoremap { "zdi{<C-R>z}<ESC> | |
vnoremap [ "zdi[<C-R>z]<ESC> | |
vnoremap ( "zdi(<C-R>z)<ESC> | |
vnoremap " "zdi"<C-R>z"<ESC> | |
vnoremap ' "zdi'<C-R>z'<ESC> | |
" buffer control | |
nnoremap <C-N> :bn<CR> | |
nnoremap <C-P> :bp<CR> | |
nnoremap <F3> :bd<CR> | |
" window | |
nnoremap <C-J> <C-W>j | |
nnoremap <C-K> <C-W>k | |
nnoremap <C-L> <C-W>l | |
nnoremap <C-H> <C-W>h | |
" tab | |
nnoremap <Space>n :<C-u>tabn<CR> | |
nnoremap <Space>p :<C-u>tabp<CR> | |
" filefinder | |
nnoremap <leader>fr :<C-u>FufBuffer<CR> | |
nnoremap <leader>fe :<C-u>FufFile<CR> | |
nnoremap <leader>ff :<C-u>FufCoverageFile<CR> | |
" hg | |
nnoremap <leader>hd :<C-u>HgDiff<CR> | |
" VCS | |
nnoremap <leader>cd :<C-u>VCSDiff<CR> | |
nnoremap <leader>cc :<C-u>VCSCommit<CR> | |
" NERD_tree | |
map <leader>d :execute 'NERDTreeToggle ' . getcwd()<CR> | |
" makefile | |
nnoremap <leader>mc :<C-u>!make concat<CR> | |
nnoremap <leader>mt :<C-u>!make test<CR> | |
" rakefile | |
nnoremap <leader>rc :<C-u>!rake concat<CR> | |
nnoremap <leader>rt :<C-u>!rake test<CR> | |
nnoremap <leader>rd :<C-u>!rake debug<CR> | |
if has('multi_byte_ime') || has('xim') | |
" 日本語入力ON時のカーソルの色を設定 | |
highlight CursorIM guibg=Purple guifg=NONE | |
endif | |
hi Search term=reverse ctermbg=Darkcyan ctermfg=NONE | |
colorscheme ron | |
" edit binary file | |
"augroup BinaryXXD | |
" autocmd! | |
" autocmd BufReadPre *.bin let &binary =1 | |
" autocmd BufReadPost * if &binary | silent %!xxd -g 1 | |
" autocmd BufReadPost * set ft=xxd | endif | |
" autocmd BufWritePre * if &binary | %!xxd -r | endif | |
" autocmd BufWritePost * if &binary | silent %!xxd -g 1 | |
" autocmd BufWritePost * set nomod | endif | |
"augroup END | |
" | |
" | |
autocmd BufRead svn* call TemplateSVN() | |
function! TemplateSVN() | |
set fileencoding=utf-8 | |
endfunction | |
augroup vimrc-auto-cursorline | |
autocmd! | |
autocmd CursorMoved,CursorMovedI * call s:auto_cursorline('CursorMoved') | |
autocmd CursorHold,CursorHoldI * call s:auto_cursorline('CursorHold') | |
autocmd WinEnter * call s:auto_cursorline('WinEnter') | |
autocmd WinLeave * call s:auto_cursorline('WinLeave') | |
let s:cursorline_lock = 0 | |
function! s:auto_cursorline(event) | |
if a:event ==# 'WinEnter' | |
setlocal cursorline | |
let s:cursorline_lock = 2 | |
elseif a:event ==# 'WinLeave' | |
setlocal nocursorline | |
elseif a:event ==# 'CursorMoved' | |
if s:cursorline_lock | |
if 1 < s:cursorline_lock | |
let s:cursorline_lock = 1 | |
else | |
setlocal nocursorline | |
let s:cursorline_lock = 0 | |
endif | |
endif | |
elseif a:event ==# 'CursorHold' | |
setlocal cursorline | |
let s:cursorline_lock = 1 | |
endif | |
endfunction | |
augroup END |
おっと、確かに余計なのがついてますね
あとvundleでのBundleInstallってそれぞれのマシンごとにやるもんですか?
それぞれのpluginが.gitだったりして、そいつらをgit submodule化して、他のマシンではgit submoduleで持ってくるものなのか、
vundleだけ持っておいて新しいマシンではBundleInstallをするものなのかどっちなのかなと。
BundleInstallはそれぞれのマシンでやります。
.vimディレクトリと.vimrcをgitで管理する時は
vundleをsubmodule化しておいて、
BundleInstallで配置される各プラグインのファイルは.gitignoreされる様にしておく。
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
203行目は
s/^V//
ですかね?^V余分のような。