On Jan 28, 11:47 am, Aarto Matti <aarto.ma...@gmail.com> wrote: > Hello, > > How can I open a command line prompt from script, print a command there and > leave it open so I can continue typing it and then press Enter myself. > Sounds simple, but I've been searching for a solution for long, yet haven't > lost my hope. That's a ruff example of what it would look like: > > function! foo() > " start command line mode, print there ':echo "hello"' and that's it > endfunction > map <F12> :call foo()<CR> > > So when I press F12 it opens a command line with: > :echo "hello"<cursor here> > and I still can continue typing, I don't want it to be executed immediately. > > :) I could use this: > map <F12> :echo "hello" > but my real function has to do some stuff before it gets a ready command to > print out, that makes it very hard or even impossible to retype the whole > thing to single mapping. >
Try using an expression mapping to call your function, which should just return the incomplete command line with the leading : but without the trailing <CR>. :help map-<expr> -- You received this message from the "vim_use" maillist. For more information, visit http://www.vim.org/maillist.php