2010/10/6 ppp <phoenixy...@gmail.com>: > Hi, > > I just started using TCL on a Windows platform. Currently, I use VIM > to > modify tcl files, then I have to go inside a tcl console (ActiveState) > to source the file and then execute a function. > > Is there a way to launch TCL script within VIM? Ideally, I want to > split > VIM into two planes, so that I can modify code on the left side and > make > the output show up on the right side.
Aside is difficult because vim isn't multithread (and not intended to be so). But I use a (for me) wonderful trick with screen. This is not yet finished yet (you must remember to exit sessions before exiting vim (or kill/exit them manually before)) but works quite fine. This way I get a unique screen session which I can access/leave any time by pressing F12 key. Below I paste what I have in my ~/.vimrc. Maybe could be useful for you: -8<-------------------------------------------------- F12 -> Attached Screen session: {{{ " ============================== " cd $(dirname %:p) --> Change to current file's directory. " screen " -U -> Run in UTF-8 mode. " -d -> Deatach if previously attached. " -dRR vim_$(basename %:p) " -> Use current buffer file name as sessionname; then reattach it and, if necessary, detach or create it first. Use the first session if more than one session with same name are available. " -e^qa -> Change default screen's escape key to CTRL-Q to avoid conflict if vim itself is running in other screen session. " -p %:p -> Use current buffer file full path as preselected (if available) window. " * TODO: Create this window by default when not exists. "noremap <f12> :silent<space>!bash<space>-c<space>'cd<space>$(dirname<space>%:p);screen<space>-UdRR<space>vim_$(basename<space>%:p)<space>-e^qa<space>-p<space>"%:p"<space>-c<space>~/.vim/screenrc'<enter>:redraw!<enter> noremap <f12> :silent<space>!bash<space>-c<space>'cd<space>$(dirname<space>%:p);screen<space>-UdRR<space>vim_${PPID}<space>-e^qa<space>-p<space>"%"<space>-c<space>~/.vim/screenrc'<enter>:redraw!<enter> "Auto-terminate screen on exitting "(Testing in progress...) "autocmd VimLeave * !kill $(screen -ls | grep vim_{$PPID} | perl -pe 's/.*?(\d+).*/\1/') 2> /dev/null "autocmd VimLeave * !echo $(screen -ls vim_${PPID} | perl -pe 's/^.*?(\d+).*$/\1/') > ~/vimleave.txt "autocmd VimLeave * 'echo $(screen -ls | grep ${PPID} ) > ~/vimleave.txt' "autocmd VimLeave * !echo Manolo > ~/vimleave.txt " Prepare vim's screen configuration: " ---------------------------------- " Create ~/.vim directory if not already exists. silent !mkdir -p ~/.vim " Copy user's ~/.screenrc if exists. silent !cp ~/.screenrc ~/.vim/screenrc 2>/dev/null " Bind F12 to 'detach' command in screen. silent !echo 'bindkey -k F2 detach' >> ~/.vim/screenrc " }}} -8<-------------------------------------------------- -- Joan Miquel Torres__________________________________ Linux Registered User #164872 http://www.mallorcaweb.net/joanmiquel BULMA: http://bulma.net http://breu.bulma.net/?l2301 -- You received this message from the "vim_use" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php