概要
【Vim】環境設定の備忘録の続きという感じです。
Vimが最高に面白い理由、それは「好き放題コマンドを登録できるから」ではないでしょうか。
自動の括弧補完で他の総合環境?と同じように快適に出来るというのもまた嬉しい機能です。
そういった機能をそこら中で見つけて入れまくり(Qiitaは神)、また、自分で「これいいんじゃね?」と設定して使ってみたら快適だったりしたので、よかったら参考にして下さい。
アロー演算子のあたりは「俺天才かも」とか思いながら設定しました。
画面内移動もCtrlとhjklだけで超動けるので直感的に動けてオススメです。デフォルトでこれでいいのにと思うくらい使いやすいです。
NeoBundleは一応入れておきましたが、環境が少し違うだけでまったく動かないって感じします……。
参考になればいいですが、気にせず消しちゃってもらってかまわないです。
Unite死ぬほど便利なんですけど、導入めちゃくちゃ面倒ですねん……。
コード
.vimrc
"***** MATO Settings *****"" タブ分割した際の色hi TabLineSel term=bold cterm=bold,underline ctermfg=LightGray ctermbg=DarkBlue gui=bold,underline guifg=LightGray guibg=DarkBlue
hi TabLine term=reverse cterm=underline ctermfg=Black ctermfg=Gray ctermbg=black gui=underline guifg=Black guibg=gray
hi TabLineFill term=reverse cterm=reverse,bold ctermfg=LightGray ctermbg=black gui=reverse,bold guifg=LightGray guibg=black
" 現在行の番号を分かりやすくsetcursorlinehi clear CursorLine
hi CursorLineNr term=bold cterm=NONE ctermfg=darkgreen ctermbg=NONE" カーソルの形let&t_SI .="\e[3 q"let&t_EI .="\e[1 q"" オートインデントを有効にするsetautoindentsetsmartindent" ファイルを開く時にリスト表示setwildmenuwildmode=list:full
"***** INOREMAP *****"" カッコの自動補完inoremap { {}<Left>inoremap(()<Left>inoremap [ []<Left>inoremap<<><Left>inoremap' ''<Left>inoremap" ""<Left>" 改行した時もinoremap {<CR> {<CR>}<Esc><S-o><Backspace><TAB>inoremap(<CR>(<CR>)<Esc><S-o><TAB>inoremap [<CR> [<CR>]<Esc><S-o><Backspace><TAB>inoremap<<CR><<CR>><Esc><S-o><Backspace><TAB>" 中に文字がいらない時も当然あるinoremap""""inoremap''''inoremap()()inoremap [] []
inoremap {} {}
inoremap<><>" PHPのアロー演算子inoremap-^ ->inoremap=~=>"***** NNOREMAP *****"" undo & redo ただのrでredoするnnoremapr<C-r>" daw : delete a word カーソル位置の単語を削除(神)nnoremap da daw
nnoremap ca caw
" 行内での先頭、末尾までの削除nnoremap dh d0
nnoremapdld$
" <br>を多用するので登録しちゃうnnoremap<B A<br><Esc>==" TAB分割" sなんとかだと操作しやすいらしいので、sだけを無効化してコマンド登録nnoremaps<Nop>" 新しいTAB、次TAB、前TABnnoremapst :<C-u>tabnew<CR>nnoremapsn gt
nnoremapsp gT
" 画面内移動するのに覚えやすいように登録nnoremap<C-j><C-d>nnoremap<C-k><C-u>nnoremap<S-j><C-f>nnoremap<S-k><C-b>nnoremap<C-h> ^
nnoremap<C-l> $
" 検索した後のハイライトを消すやつnnoremap<Esc><Esc> :nohlsearch<CR>" xでの削除でヤンクが上書きされないようにnoremap PP "0pnoremapx"_x" 超多用するyypを短くnoremap yp yyp
noremap yyp yyp
" コメントアウト[// ]を入力モード入らず加えたいnoremap cm I//<Esc>" 末尾に ; セミコロンを入力モード入らず加えたいnoremapsm A;<Esc>" 末尾に , カンマnoremap sk A,<Esc>"***** COMMAND *****"" コピペする際のやつを短く
command SP :setpaste
command SNP :setnopaste"***** Plugin *****"" NeoBundlesetnocompatiblefiletype plugin indent off
if has('vim_starting')if&compatiblesetnocompatibleendifsetruntimepath+=~/.vim/bundle/neobundle.vimendifcall neobundle#begin(expand('~/.vim/bundle/'))
NeoBundleFetch 'Shougo/neobundle.vim'call neobundle#end()" Unitecall neobundle#begin(expand('~/.vim/bundle/'))
NeoBundle 'Shougo/unite.vim'
NeoBundle 'Shougo/neomru.vim'call neobundle#end()letg:unite_enable_start_insert=1letg:unite_source_history_yank_enable=1letg:unite_source_file_mru_limit=200nnoremap,uf :Unite file<CR>nnoremap,ub :Unite buffer<CR>nnoremap,um :Unite file_mru<CR>nnoremap,uu :Unite buffer file_mru<CR>" Uniteから抜けるauFileType unite nnoremap<silent><buffer><Esc><Esc>qauFileType unite inoremap<silent><buffer><Esc><Esc><Esc>q" 謎の修正syntaxonhi Comment ctermfg=darkcyan
以上です。
「実践Vim」っていう本を1年に1度くらい読んで機能を再確認しつつ、勝手にオリジナルコマンドを登録して快適にという感じで楽しみましょう!
ほんまVim大好き
終わり