移動系
左右のカーソル移動で行を跨いで移動
setwhichwrap=b,s,h,l,<,>,[,],~
マウス操作を有効にする
参考:端末vimでマウスを使う
setmouse=a
スクロールの余裕を確保する
参考:Vimで、画面の端でスクロールするのではなく、数行余裕があるうちにスクロールする方法(scrolloff)
examplesetscrolloff=3
折り返し表示の際にも表示行単位で移動する
nnoremapj gj nnoremapk gk vnoremapj gj vnoremapk gk
ウィンドウ間の移動を楽にする
examplennoremap<C-j><C-w>jnnoremap<C-k><C-w>knnoremap<C-l><C-w>lnnoremap<C-h><C-w>h
インサートモードでjj
と入力した場合はESCとみなす
inoremap jj <Esc>
編集系
バックスペースでの削除をいつでも有効にする
参考:vimで文字が削除出来ないと思ったらバックスペースが効かなくなった
set backspace=indent,eol,start
Y
を行末までのヤンクにする
nnoremap Y y$
タブ・インデントの設定をする
examplesetexpandtab" タブの代わりに空白を使うsettabstop=4" タブの幅setshiftwidth=4" 自動インデントでずれる幅setsofttabstop=2" 連続した空白に対してタブキーやバックスペースキーでカーソルが動く幅(デフォルトでは無効: 0)setautoindent" 改行時に前の行のインデントを継続するsetsmartindent" 改行時に入力された行の末尾に合わせて次の行のインデントを増減する
検索機能の向上
参考:
examplesetignorecase" 大文字小文字を無視setsmartcase" ignorecaseと合わせることで,小文字入力の時のみ大文字小文字を無視setincsearch" インクリメンタルサーチsethlsearch" 検索結果をハイライトnnoremap<silent><ESC><ESC> :nohlsearch<CR>" ESCキー連打でハイライトを消す
インサートモードに入る時に自動でコメントアウトされないようにする
参考:Disable automatic comment insertion
autocmdFileType * setlocalformatoptions-=cformatoptions-=rformatoptions-=o
置換の際のg
オプションをデフォルトで有効化する
setgdefault
保存時に行末の空白を削除する
autocmdBufWritePre * :%s/\s\+$//ge
見た目系
カラムラインを引く
setcolorcolumn=80
行番号を表示する
setnumber
カラースキームを適用
参考:
examplesyntaxoncolorscheme molokai
テキストが折り返されないようにする
setnowrap
変換候補で一度に表示される数を設定する
setpumheight=10
左下のインサートモードなどの文字を非表示にする
setnoshowmode
下部のステータスラインを常に表示
setlaststatus=2
スペルチェック機能を使う
setspellsetspelllang=en,cjk "日本語を除外
スクロールバーを消す
参考:Vimでメニューバー、ツールバー、スクロールバーそれぞれを非表示にする方法
examplesetguioptions-=rsetguioptions-=R setguioptions-=lsetguioptions-=L setguioptions-=b
ソースコードを折畳み表示する
参考:
examplesetfoldmethod=marker " manual: 手動で折畳を定義する" indent: インデントの数を折畳のレベル(深さ)とする" expr: 折畳を定義する式を指定する" syntax: 構文強調により折畳を定義する" diff: 変更されていないテキストを折畳対象とする" marker: テキスト中の印で折畳を定義する
現在の行をハイライト
examplesetcursorline" 現在の行をハイライトhi clear CursorLine " 上と合わせることで行番号のみハイライト
iTerm2やtmux上でもインサートモード時のカーソルの形状を変化させる
参考:
exampleif exists('$TMUX')let&t_SI="\<Esc>Ptmux;\<Esc>\<Esc>]50;CursorShape=1\x7\<Esc>\\"let&t_EI="\<Esc>Ptmux;\<Esc>\<Esc>]50;CursorShape=0\x7\<Esc>\\"elselet&t_SI="\<Esc>]50;CursorShape=1\x7"let&t_EI="\<Esc>]50;CursorShape=0\x7"endif
その他
文字コードの設定をする
参考:
examplesetencoding=utf-8setfileencoding=utf-8
ビープ音を消す
examplesetvbt_vb=
最後に
自分が設定していないものも書きましたが,正直切りがないですね.それでもこれはオススメ!ってのがありましたら,是非教えて下さい.追記したいと思います.