Created
October 19, 2010 05:47
-
-
Save saicologic/633685 to your computer and use it in GitHub Desktop.
.vimrc
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 paste | |
set encoding=utf-8 | |
set fileencodings=ucs-bom,utf-8,iso-2022-jp,euc-jp,cp932,latin1 | |
"" 自動改行を OFF にする | |
set tw=0 | |
syntax on | |
"Zenkaku space highlig | |
"syntax match InvisibleJISX0208Space " " display containedin=ALL | |
"highlight InvisibleJISX0208Space term=underline ctermbg=Blue guibg=Blue | |
filetype on | |
filetype indent on | |
filetype plugin on | |
" auto | |
"inoremap { {}<LEFT> | |
"inoremap [ []<LEFT> | |
"inoremap ( ()<LEFT> | |
"inoremap " ""<LEFT> | |
"inoremap ' ''<LEFT> | |
"vnoremap { "zdx{<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> | |
"emacs keybind | |
inoremap <C-A> <HOME> | |
inoremap <C-E> <END> | |
cnoremap <C-A> <HOME> | |
cnoremap <C-E> <END> | |
vnoremap <C-A> <HOME> | |
vnoremap <C-E> <END> | |
noremap <C-A> <HOME> | |
noremap <C-E> <END> | |
"taglist | |
let Tlist_Ctags_Cmd = "/usr/bin/ctags" "ctagsのパス | |
let Tlist_Show_One_File = 1 "現在編集中のソースのタグしか表示しない | |
let Tlist_Exit_OnlyWindow = 1 "taglistのウィンドーが最後のウィンドーならばVimを閉じる | |
let Tlist_Use_Right_Window = 1 "右側でtaglistのウィンドーを表示 | |
map <silent> <leader>tl :TlistToggle<cr> | |
"smartchr | |
"inoremap <expr> = smartchr#one_of(' = ', ' == ', ' === ', '=') | |
" マウスモード有効 | |
"set mouse=a | |
" screen対応 | |
"set ttymouse=xterm2 | |
"C-W,sで横分割 | |
nmap <C-W>s :sp<CR> | |
"C-W,vで縦分割 | |
nmap <C-W>v :vsp<CR> | |
"C-W,oでファイルを指定して横分割、オープン | |
nmap <C-W>o :sp | |
"C-W,eでファイルブラウザを横分割起動 | |
nmap <C-W>e :vsp<CR>:wincmd w<CR>:e! ./<CR> | |
"C-W,Eでファイルブラウザを縦分割起動 | |
nmap <C-W>E :sp<CR>:wincmd w<CR>:e! ./<CR> | |
"C-W,C-Aで現在のウインドウのみの表示 | |
nmap <C-W><C-A> :all<CR> | |
"vim explore | |
noremap <C-W><C-F> :Vexplore<CR> | |
let g:netrw_keepdir=0 | |
let g:netrw_liststyle=3 | |
" <status line> | |
set laststatus=2 " 常にステータスラインを表示 | |
set statusline=%<%F\ %r%h%w%y%{'['.(&fenc!=''?&fenc:&enc).'\|'.&ff.']'}\ \ %l/%L\ (%P)%m%=%{strftime(\"%Y/%m/%d\ %H:%M\")} | |
" <display> | |
set showmatch " 括弧の対応をハイライト | |
set number " 行番号表示 | |
" <search> | |
set wrapscan " 最後まで検索したら先頭へ戻る | |
set ignorecase " 大文字小文字無視 | |
set smartcase " 大文字ではじめたら大文字小文字無視しない | |
set noincsearch " インクリメンタルサーチOFF | |
set hlsearch " 検索文字をハイライト | |
"検索ハイライトをESC2回で消す | |
nmap <Esc><Esc> :nohlsearch<CR><Esc> | |
" <basic> | |
let mapleader = "," " キーマップリーダー | |
set nobackup " バックアップ取らない | |
set noswapfile | |
set hidden " 編集中でも他のファイルを開けるようにする | |
set formatoptions=lmoq " テキスト整形オプション,マルチバイト系を追加 | |
set vb t_vb= " ビープをならさない | |
set backspace=indent,eol,start " バックスペースでなんでも消せるように | |
set autoread " 他で書き換えられたら自動で読み直す | |
set whichwrap=b,s,h,l,<,>,[,] " カーソルを行頭、行末で止まらないようにする | |
set scrolloff=5 " スクロール時の余白確保 | |
set tabstop=2 | |
set shiftwidth=2 | |
set expandtab | |
set nocompatible | |
"wild menu | |
" コマンドライン補完するときに強化されたものを使う(参照 :help wildmenu) | |
set wildmenu | |
" コマンドライン補間をシェルっぽく | |
""set wildmode=list:longest | |
"タブ幅をリセット | |
"au BufNewFile,BufRead * set tabstop=4 shiftwidth=4 | |
"".rhtmlと.rbと.ymlでタブ幅を変更 | |
au BufNewFile,BufRead *.rhtml set tabstop=2 shiftwidth=2 | |
au BufNewFile,BufRead *.rb set tabstop=2 shiftwidth=2 | |
au BufNewFile,BufRead *.yml set tabstop=2 shiftwidth=2 | |
"Rails関連ファイルで文字コードをUFT-8に設定 | |
au User Rails* set fenc=utf-8 | |
"omni | |
"omnifunc | |
setlocal omnifunc=syntaxcomplete#Complete | |
highlight Pmenu ctermbg=4 | |
highlight PmenuSel ctermbg=1 | |
highlight PMenuSbar ctermbg=4 | |
let g:rubycomplete_buffer_loading = 1 | |
let g:rubycomplete_classes_in_global = 1 | |
let g:rubycomplete_rails = 1 | |
"inoremap <Nul> <C-x><C-o> | |
"NERDCommenter | |
"<Leader>xでコメントをトグル(NERD_commenter.vim) | |
map <Leader>x ,c<space> | |
"未対応ファイルタイプのエラーメッセージを表示しない | |
let NERDShutUp=1 | |
se hlsearch "検索ワードをハイライト | |
se bs=indent,eol,start "ctrl-h の挙動を修正 | |
autocmd Filetype * let g:AutoComplPop_CompleteOption='.,w,b,u,t,i' | |
autocmd FileType ruby :set dictionary=$HOME/.vim/dict/ruby.dict | |
"<TAB>で補完 | |
" {{{ Autocompletion using the TAB key | |
" This function determines, wether we are on the start of the line text (then tab indents) or | |
" if we want to try autocompletion | |
function! InsertTabWrapper() | |
let col = col('.') - 1 | |
if !col || getline('.')[col - 1] !~ '\k' | |
return "\<TAB>" | |
else | |
if pumvisible() | |
return "\<C-N>" | |
else | |
return "\<C-N>\<C-P>" | |
end | |
endif | |
endfunction | |
" Remap the tab key to select action with InsertTabWrapper | |
inoremap <tab> <c-r>=InsertTabWrapper()<cr> | |
" }}} Autocompletion using the TAB key | |
"inoremap <expr> <CR> pumvisible() ? \<C-Y>\<CR>" : "\<CR>" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment