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

Reply via email to