.vimrc を書き換えた

Inspired by commentout.vim : ソースをコメントアウト ←→ コメントアウト解除 — 名無しのvim使い and 2008-02-02 - longicornの日記.

コメント関係

" comment
vmap ,# :s/^\(\s*\)/\1# /<CR>:nohlsearch<CR>
vmap ,/ :s!^\(\s*\)!\1// !<CR>:nohlsearch<CR>
vmap ,> :s/^\(\s*\)/\1> /<CR>:nohlsearch<CR>
vmap ," :s/^\(\s*\)/\1\" /<CR>:nohlsearch<CR>
vmap ,% :s/^\(\s*\)/\1% /<CR>:nohlsearch<CR>
vmap ,! :s/^\(\s*\)/\1! /<CR>:nohlsearch<CR>
vmap ,; :s/^\(\s*\)/\1; /<CR>:nohlsearch<CR>
vmap ,- :s/^\(\s*\)/\1--/<CR>:nohlsearch<CR>
vmap ,c :s@^\(\s*\)\(//\\|--\\|[>#"%!;]\)\s\?@\1@<CR>:nohlsearch<CR>

" wrapping comment
vmap ,* :s!^\(\s*\)\(.\+\)$!\1/* \2 */!<CR>:nohlsearch<CR>
vmap ,< :s@^\(\s*\)\(.\+\)$@\1<!-- \2 -->@<CR>:nohlsearch<CR>
vmap ,d :s@^\(\s*\)\(/\*\\|<!--\) \(.\+\) \(\*/\\|-->\)@\1\3@<CR>:nohlsearch<CR>

" block comment
vmap ,b c/*<CR>*/<ESC>P
vmap ,h c<!--<CR>--><ESC>P
vmap ,i c<ESC>I#if 0<CR>#endif<ESC>P

自動保存もちょっといじった

function RTrim()
  let s:cursor = getpos(".")
  %s/\s\+$//e
  call setpos(".", s:cursor)
endfunction

" ------------------
" Auto save
" ------------------
function! AutoUp()
  if &modified && expand('%') =~ g:svbfre && !&readonly && &modifiable && &buftype == ''
    call RTrim()
    silent update
  endif
endfunction

autocmd CursorHold * call AutoUp()
set updatetime=1000
let g:svbfre = '.\+'