Vimでシェルのエラーを捕捉

v:shell_errorで直前に実行したシェルコマンドの戻り値を捕捉出来る。


ってことで、C言語用簡易makeコマンドMakeEasyを修正。

F5キーで、保存 → make or gcc → 実行まで一気にこなす。激しく便利っす。

nmap <silent> <buffer> <F5> :call <SID>MakeEasy()<CR>

function! s:MakeEasy()
  " write current buffer
  w %
  " make or gcc
  if filereadable("./Makefile")
    make
  else
    !gcc -Wextra -g -o %:r %
    if !v:shell_error
      !./%:r
    endif
  endif
endfunc

~/.vim/after/plugin/c.vimに保存してお使いください。

参考

  • :h shell_error