관심있는 것들 정리
외부 프로그램 수행 후 결과를 새로운 buffer에 생성해주는 script 본문
사용법: 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
반응형
'utility 사용법 > vim' 카테고리의 다른 글
Mac에서 vim 설정 시 YADR 설정 적용 (0) | 2017.04.09 |
---|---|
vim 사용 시 diffmode 와 일반 모드 구분하기 (0) | 2015.02.03 |
vim script를 이용해서 compile 편하게 하려했는데.. (0) | 2012.12.30 |
clearcase view이름을 vim title로 설정하기 (0) | 2012.09.23 |
windows vim에 Vundle plugin 설치 (1) | 2012.09.23 |