vimrc覚書
私が使っているvimrcで普段からお世話になっているオススメの設定を晒します。
※あくまでvim標準の機能に絞っています。
※新しい発見があれば随時更新していきます。
タブ機能の設定
vimに標準でタブ機能があるのをご存知でしょうか。
複数ファイルを編集するとき瞬時に切り替えられて便利なのでオススメです。
バッファ間の切り替えや、ウィンドウ分割によっても対応できますが、
編集ファイル数が多い場合はタブ機能を併用すると良いです。
もちろんコマンドでも操作できますが、私はよく使う機能をキーに割り当てて使用しています。
下記設定による割り当ては次の通りです。
- tc:新しいタブを作成する
- tx:開いているタブを閉じる
- tn:次のタブに移る
- tp:前のタブに移る
- t<number>:<number>で指定した数字に該当するタブへ移動する
- ex) t1:1番左のタブへ移動、t2:左から2番目のタブへ移動
" The prefix key.nnoremap [Tag] <Nop>
nmap t [Tag]
" Tab jumpfornin range(1,9)
execute 'nnoremap <silent> [Tag]'.n':<C-u>tabnext'.n.'<CR>'endfor
map <silent> [Tag]c :tablast<bar>tabnew<CR>
map <silent> [Tag]x :tabclose<CR>
map <silent> [Tag]n :tabnext<CR>
map <silent> [Tag]p :tabprevious<CR>
ハイライトのオフ
ハイライトをオンにしていると検索時に該当文字列がハイライトされます。
検索ワードの場所が分かりやすくて良いものの、ずっとハイライトされていては
チカチカして目によくありません。
そこでオススメは、<C-l>にハイライトオフの設定を含めることです。
※もともと<C-l>には画面をリフレッシュする機能があり、その機能に追加する形です
nnoremap<silent><C-l> :<C-u>nohlsearch<CR><C-l>
増分検索
スラッシュ(/)で検索するとき、文字を入力する度に検索を実行します。
特に正規表現を使って検索する際、構文が意図した動きをするか逐次確認できるので便利です。
:setincsearch
ちなみにvimの正規表現は少し特殊ですが、以下のように冒頭に"\v"を追加して、
「very magic モード」にすれば、perlなどで使い慣れたいつもの正規表現を(ほぼ)利用できます。
/\v^テスト
ペーストモードの切り替え
自動インデントを設定していると、外部からコピーしたソースコードなどをvimに貼り付ける際、
勝手にインデントが入って困ることがあります。
そんな時は以下のように、ペーストモードに切り替えると上手く貼り付けられます。
:setpaste
いちいちコマンドを打つのが面倒なので、私は下記のようにモード切替をキーに割り当てています。
setpastetoggle=<f5>
emacsキーバインドの設定
編集中はemacsキーバインドが使えると色々捗るため、
以下のようにキーバインドを設定しています。
imap <C-e><END>" 行末に移動
imap <C-a><HOME>" 行頭に移動
imap <C-f><Right>" 右に移動
imap <C-b><Left>" 左に移動
バックアップファイル設定
vimを使っているとswapファイルなどのバックアップファイルが生成されます。
私はバックアップファイルをほとんど使わない、というか使ったことがなく、
ただ邪魔なだけなので下記のように設定をオフにしています。
※Gitなどで管理していれば問題ないと思ってます。
setnoswapfileset noundofile
setnobackup