Although not perl code, this has sped up my development in perl markedly.
Stole (and altered) this off a friend of mine who found it and altered it somewhere else.
For those who are that way inclined, you can also do similar things with php.
Simple instruction: F1 validates the per... checking for syntax errors etc etc, and brings up the results in a new window. f2 closes the window.
f3 runs the perl script, bringing up the results in a new window. (again) f2 closes the window. Generally, I use this for debugging.
Improvements and suggestions welcomed.
" F2 close current window (commonly used with my F1/F3 functions)
noremap <f2> <Esc>:close<CR><Esc>
" perl -cw buffer, using a temp file, into a new window
function! PerlCW()
let l:tmpfile1 = tempname()
let l:tmpfile2 = tempname()
execute "normal:w!" . l:tmpfile1 . "\<CR>"
execute "normal:! perl -cw ".l:tmpfile1." \> ".l:tmpfile2." 2\>\&1
+ \<CR>"
execute "normal:new\<CR>"
execute "normal:edit " . l:tmpfile2 . "\<CR>"
endfunction
" perl buffer, using a temp file, into a new window
function! PerlOutput()
let l:tmpfile1 = tempname()
let l:tmpfile2 = tempname()
execute "normal:w!" . l:tmpfile1 . "\<CR>"
execute "normal:! perl ".l:tmpfile1." \> ".l:tmpfile2." 2\>\&1 \<C
+R>"
execute "normal:new\<CR>"
execute "normal:edit " . l:tmpfile2 . "\<CR>"
endfunction
" Settings for editing perl source (plus bind the above two functions)
function! MyPerlSettings()
if !did_filetype()
set filetype=perl
endif
set textwidth=78
set expandtab
set tabstop=4
set shiftwidth=4
set cindent
set comments=:#
set formatoptions=croql
set keywordprg=man\ -S\ 3
noremap <f1> <Esc>:call PerlCW()<CR><Esc>
noremap <f3> <Esc>:call PerlOutput()<CR><Esc>
endfunction
if has("eval")
augroup SetEditOpts
au!
autocmd FileType perl :call MyPerlSettings()
augroup END
endif
endif
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
|
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
|
|