VimでJavaを書く その2


Java用の設定を追加することに。

追加内容

1. セミコロンが入力されたときに改行も行う
2. 括弧が入力されたときに自動的に閉じ括弧を入力する

"セミコロンが入力されたときに+改行を行う
function SemicolonEnter()
  let line = getline(".")
  "for文を記述中か?
  if line =~ '^\t*for \=('
    execute "normal a \<Esc>vr;"
  else
    let s = synIDattr(synID(line("."),col(".")+1,0),"name")
    "文字列中か?
    if s == "javaString"
      execute "normal a \<Esc>vr;"
    else
      execute "normal a \<Esc>vr;\a\<RETURN> \<BS>"
    endif
  endif
endfunction

au FileType java inoremap ; <Esc>:call SemicolonEnter()<CR>a

"括弧が入力されたときに自動的に閉じ括弧を入力する
inoremap [ []<LEFT>
inoremap ( ()<LEFT>
inoremap { {}<LEFT>
au FileType java inoremap { {<RETURN>}<UP><ESC><S-A>
au FileType java inoremap " ""<LEFT>
au FileType java inoremap ' ''<LEFT>

参考
spiritlooseのはてなダイアリー様 Vimで括弧/クォートを自動補完
netswitch!様 vim/rubyのための部分最適化