Skip to content

Instantly share code, notes, and snippets.

@saicologic
Created October 19, 2010 05:47
Show Gist options
  • Save saicologic/633685 to your computer and use it in GitHub Desktop.
Save saicologic/633685 to your computer and use it in GitHub Desktop.
.vimrc
"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