投稿

11月, 2012の投稿を表示しています

Vimで括弧の補完とそのトグル

Vimのmapについて調べると
下記の括弧保管をよく見かけます。

(* → ()*() → (*)※アスタリスクはカーソル位置

便利な時もありますが
ターミナルにコピペするときなどは邪魔です
(クリップボードと連携取ればいいんだろうけど…)

使いやすいようにスクリプトを書いてコマンドで切り替えられるようにしました。

" 自動で括弧内に移動を切り替え function! g:toggleAutoBack() if(0 == g:autoBackState) inoremap {} {}<Left> inoremap [] []<Left> inoremap () ()<Left> inoremap "" ""<Left> inoremap '' ''<Left> inoremap <> <><Left> if !has('vim_starting') echo "AutoBack is ON" endif let g:autoBackState = 1 else iunmap {} iunmap [] iunmap () iunmap "" iunmap '' iunmap <> if !has('vim_starting') echo "AutoBack is OFF" endif let g:autoBackState = 0 endif endfunction " 起動時のみ自動実行 if !exists("g:autoBackState") " 初期値 let g:autoBackState = 0 call g:toggleAutoBack() endif " 括弧移動切り替え nnoremap taub :call g:toggleAutoBack()<Return> " 自動で括弧…