관심있는 것들 정리

외부 프로그램 수행 후 결과를 새로운 buffer에 생성해주는 script 본문

utility 사용법/vim

외부 프로그램 수행 후 결과를 새로운 buffer에 생성해주는 script

내공강화 2012. 12. 30. 20:06
사용법: ex mode에서 Shell 입력후 뒤에 입력하고 싶은 명령 입력
예)
:Shell ls -l



command! -complete=shellcmd -nargs=+ Shell call s:RunShellCommand(<q-args>)

function! s:RunShellCommand(cmdline)

  echo a:cmdline

  let expanded_cmdline = a:cmdline

  for part in split(a:cmdline, ' ')

     if part[0] =~ '\v[%#<]'

        let expanded_part = fnameescape(expand(part))

        let expanded_cmdline = substitute(expanded_cmdline, part, expanded_part, '')

     endif

  endfor

  botright new

  setlocal buftype=nofile bufhidden=wipe nobuflisted noswapfile nowrap

  call setline(1, 'You entered:    ' . a:cmdline)

  call setline(2, 'Expanded Form:  ' .expanded_cmdline)

  call setline(3,substitute(getline(2),'.','=','g'))

  execute '$read !'. expanded_cmdline

  setlocal nomodifiable

  1

endfunction


반응형