"" Line Feeder 2 "" by David B. Dahl "" January 2009 "" Note: This is just a copy from configs repository. Make changes there. "let g:LineFeederPID = system("echo -n $PPID")+0 " Since getpid() is not in < 7.2 let g:LineFeederPID = getpid() let g:LineFeederIndex = 0 function! LineFeederNextLine() call system($MYVIMRC . ".line-feeder-script feed " . g:LineFeederPID . "." . g:LineFeederIndex . " " . shellescape(getline('.'))) normal j endfunction function! LineFeederSetUp() let g:LineFeederIndex += 1 let dir = expand("%:p:h") let ext = expand("%:e") if ext == "R" let cmd = "R" elseif ext == "rb" let cmd = "irb" elseif ext == "scala" let cmd = "scala" else let cmd = "" endif let cmd = input("Command to execute: ",cmd) if cmd != "" call system($MYVIMRC . ".line-feeder-script start " . g:LineFeederPID . "." . g:LineFeederIndex . " " . shellescape(dir) . " " . shellescape(cmd)) endif endfunction nnoremap :call LineFeederNextLine() inoremap :call LineFeederNextLine()i nnoremap :call LineFeederSetUp() nnoremap :%call LineFeederNextLine()