ども、こすげっす。
.vimrcを公開することで長い文章の償いをと思いましたが
一緒の記事に載せられなかったのでこちらで...
特に文章書いてないので、.vimrcを見てください!!
" ********** vim の設定 ********** "
"-------------------------------------------------------------------------------""" vendle.vim プラグイン"-------------------------------------------------------------------------------set nocompatiblefiletype offset rtp+=~/dotfiles/vimfiles/vundle.gitcall vundle#rc()" ********** githubにあるプラグイン ********** "" ex) 'account / repository'Bundle 'Shougo/neocomplcache'Bundle 'Shougo/unite.vim'Bundle 'h1mesuke/unite-outline'Bundle 'othree/html5.vim'Bundle 'hail2u/vim-css3-syntax'Bundle 'vim-ruby/vim-ruby'Bundle 'tpope/vim-rails'Bundle 'tpope/vim-cucumber'Bundle 'itspriddle/vim-javascript-indent'Bundle 'kchmck/vim-coffee-script'Bundle 'cakebaker/scss-syntax.vim'Bundle 'brooky-yen/vim-snippet-for-jquery-mobile'" ********** vim-scriptにあるプラグイン ********** "" ex) 'file_name'Bundle 'JavaScript-syntax'" ********** githubにないプラグイン ********** "" ex) 'git:// fullpath 'syntax on"filetype plugin indent on""-------------------------------------------------------------------------------""" 初期設定"-------------------------------------------------------------------------------set encoding=utf-8set ruler" 行番号を表示" set number" ファイル名を表示set title" 閉じ括弧が入力された時、対応する括弧を表示するset showmatch" set showcmd"-------------------------------------------------------------------------------"" タブ設定"-------------------------------------------------------------------------------" ファイルの<tab>が対応する空白の数" Ruby用set tabstop=2" シフト移動幅set shiftwidth=2" Ruby用 <- インデントが気に入らなければ上をコメントアウトしてこっち変更してset tabstop=2" シフト移動幅set shiftwidth=2" タブの代わりに空白文字を使うset expandtab"-------------------------------------------------------------------------------"" インデント設定"-------------------------------------------------------------------------------" 新しい行のインデントを現在行と同じにするset autoindent" 新しい行を作った時に高度な自動インデントを行うset smartindent"-------------------------------------------------------------------------------"" 検索設定"-------------------------------------------------------------------------------" 検索時に大文字小文字を区別しないset ignorecase" 検索をファイルの先頭にループしないset nowrapscan"-------------------------------------------------------------------------------"" バックアップファイルとswapの設定"-------------------------------------------------------------------------------" swapファイルを作成しない:set noswapfile" backupファイルを作成しない:set nobackup"-------------------------------------------------------------------------------"" ファイルの種類とomni"-------------------------------------------------------------------------------autocmd BufNewFile,BufRead *.vimrc set filetype=vimautocmd BufNewFile,BufRead *.phtml set filetype=htmlautocmd BufNewFile,BufRead *.less set filetype=lessautocmd FileType eruby,html,markdown setlocal omnifunc=htmlcomplete#CompleteTagsautocmd FileType css setlocal omnifunc=csscomplete#CompleteCSSautocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS" sql syntax in stringlet php_sql_query=1" html syntax in stringlet php_htmlInStrings=1" ban short taglet php_noShortTags=1"-------------------------------------------------------------------------------"" ステータスライン"-------------------------------------------------------------------------------"ステータスライン表示set laststatus=2set statusline=%f%=%<%m%r[%{(&fenc!=''?&fenc:&enc)}][%{&ff}][%Y][%v,%l/%L]" 挿入モードをステータスラインの色で判断if !exists('g:hi_insert')let g:hi_insert = 'highlight StatusLine guifg=White guibg=DarkCyan gui=none ctermfg=White ctermbg=DarkCyan cterm=none'endifif has('unix') && !has('gui_running')inoremap <silent> <ESC> <ESC>inoremap <silent> <C-[> <ESC>endifif has('syntax')augroup InsertHookautocmd!autocmd InsertEnter * call s:StatusLine('Enter')autocmd InsertLeave * call s:StatusLine('Leave')augroup ENDendiflet s:slhlcmd = ''function! s:StatusLine(mode)if a:mode == 'Enter'silent! let s:slhlcmd = 'highlight ' . s:GetHighlight('StatusLine')silent exec g:hi_insertelsehighlight clear StatusLinesilent exec s:slhlcmdendifendfunctionfunction! s:GetHighlight(hi)redir => hlexec 'highlight '.a:hiredir ENDlet hl = substitute(hl, '[\r\n]', '', 'g')let hl = substitute(hl, 'xxx', '', '')return hlendfunction"----------------------------------------------------"" オートコマンド"----------------------------------------------------if has("autocmd")" ファイルタイプ別インデント、プラグインを有効にするfiletype plugin indent on" カーソル位置を記憶するautocmd BufReadPost *\ if line("'\"") > 0 && line("'\"") <= line("$") |\ exe "normal g`\"" |\ endifendif"-------------------------------------------------------------------------------""" キーバインド"-------------------------------------------------------------------------------"""カーソルキーを封印map <Up> <Nop>map <Right> <Nop>map <Down> <Nop>map <Left> <Nop>imap <Up> <Nop>imap <Right> <Nop>imap <Down> <Nop>imap <Left> <Nop>" 挿入モードでのカーソル移動inoremap <C-k> <Up>inoremap <C-l> <Right>inoremap <C-j> <Down>inoremap <C-h> <Left>"-------------------------------------------------------------------------------""" ハイライト設定"-------------------------------------------------------------------------------" 検索set hlsearch" <ESC> を連打で検索ハイライトをキャンセルnmap <Esc><ESC> :nohlsearch<CR><ESC>" 全角スペースのハイライトfunction! ZenkakuSpace()highlight ZenkakuSpace cterm=reverse ctermfg=DarkMagenta gui=reverse guifg=DarkMagentaendfunctionif has('syntax')augroup ZenkakuSpaceautocmd!autocmd ColorScheme * call ZenkakuSpace()autocmd VimEnter,WinEnter * match ZenkakuSpace / /augroup ENDcall ZenkakuSpace()endif" カレントウィンドウにのみ罫線を引くaugroup cchautocmd! cchautocmd WinLeave * set nocursorlineautocmd WinEnter,BufRead * set cursorlineaugroup END"-------------------------------------------------------------------------------""" Opsplore プラグイン"-------------------------------------------------------------------------------" ファイルエクスプローラーの横幅:let s:split_width=100noremap <C-O><C-P> :Opsplore<CR>"-------------------------------------------------------------------------------""" quickbuf プラグイン"-------------------------------------------------------------------------------let g:qb_hotkey = "<C-B>""-------------------------------------------------------------------------------""" unite.vim プラグイン"-------------------------------------------------------------------------------" 入力モードで開始するlet g:unite_enable_start_insert=0" バッファ一覧noremap <C-U><C-B> :Unite buffer<CR>" ファイル一覧noremap <C-U><C-F> :UniteWithBufferDir -buffer-name=files file<CR>" 最近使ったファイルの一覧noremap <C-U><C-R> :Unite file_mru<CR>" レジスタ一覧noremap <C-U><C-Y> :Unite -buffer-name=register register<CR>" ファイルとバッファnoremap <C-U><C-U> :Unite buffer file_mru<CR>" 全部noremap <C-U><C-A> :Unite UniteWithBufferDir -buffer-name=files buffer file_mru bookmark file<CR>" ESCキーを2回押すと終了するau FileType unite nnoremap <silent> <buffer> <ESC><ESC> :q<CR>au FileType unite inoremap <silent> <buffer> <ESC><ESC> <ESC>:q<CR>"-------------------------------------------------------------------------------""" unite-outline.vim プラグイン"-------------------------------------------------------------------------------" アウトライン一覧表示noremap <C-U><C-O> :Unite -vertical -winwidth=30 outline<CR>"-------------------------------------------------------------------------------""" neocomplcache.vim プラグイン"-------------------------------------------------------------------------------" AutoComplPop を無効かする設定let g:acp_enableAtStartup=0" neocomplcache を起動時に有効化let g:neocomplcache_enable_at_startup = 1" neocomplcache の smart case 機能を有効化let g:Neocomplcache_SmartCase=1" neocomplcache の calme case 機能を有効化let g:Neocomplcache_EnableCamelCaseCompletion=1" neocomplcache の _区切りの補完を有効化let g:Neocomplcache_EnableUnderbarCompletion=1" neocomplcache のシンタックスをキャッシュするときの最小文字を3にするlet g:Neocomplcache_MinSyntaxLength=3" manual completion の長さの設定let g:NeoComplCache_ManualCompletionStartLength =0" Print caching percent in statuslinelet g:NeoComplCache_CahingPercentInStatusline=1" 辞書の登録let g:NeoComplCache_DictionaryFileTypeLists = {\ 'default' : '',\ }" Define Keyword.if !exists('g:NeoComplCache_KeywordPatterns')let g:NeoComplCache_KeywordPatterns = {}endiflet g:NeoComplCache_KeywordPatterns['default'] = '\v\h\w*'let g:NeoComplCache_SnippetsDir=$HOME.'/snippets'" 改行で補完ウィンドウを閉じるinoremap <expr><CR> neocomplcache#smart_close_popup() . "\<CR>"" tabで補完候補選択inoremap <expr><TAB> pumvisible() ? "\<Down>" : "\<TAB>"inoremap <expr><S-TAB> pumvisible() ? "\<Up>" ; "\<S-TAB>"noremap <C-N><C-E> :NeoComplCacheEnable<CR>noremap <C-N><C-D> :NeoComplCacheDisable<CR>