From: "A.J.Mechelynck" <[EMAIL PROTECTED]> Subject: Re: Terminating search in function Date: Sun, 22 Oct 2006 11:00:14 +0200
> Meino Christian Cramer wrote: > > From: "A.J.Mechelynck" <[EMAIL PROTECTED]> > > Subject: Re: Terminating search in function > > Date: Sun, 22 Oct 2006 09:33:01 +0200 > > > >> Meino Christian Cramer wrote: > >>> Hi, > >>> > >>> I wrote this snippet: > >>> > >>> "-------------------------------------------------------------------------------- > >>> fun! Ffunchdr() > >>> let date = strftime( "%F" ) > >>> > >>> put='/*-----------------------------------------------------------------------------*/' > >>> put='/**' > >>> put=' * desc' > >>> put=' *' > >>> put=' *' > >>> put=' *' > >>> put=' * Created: ' . date . ' > >>> put=' *' > >>> put=' * parameter: > >>> put=' * parameter: > >>> put=' * parameter: > >>> put=' * parameter: > >>> put=' * parameter: > >>> put=' *' > >>> put=' * result 0 - Success, -1 - Failure' > >>> put=' *' > >>> put=' */' > >>> ?desc > >>> endfun > >>> command! Funchdr :call Ffunchdr() > >>> > >>> > >>> > >>> This should give nme the header comment for function definitions in C. > >>> My problem seems to be the "?desc" command at the end. > >>> It /should/ move the cursor onto the "desc" keyword right in the > >>> beginning of the comment block. > >>> > >>> But it move the cursor to here: > >>> > >>> * desc > >>> ^ > >>> | > >>> cursor position > >>> > >>> My """analysis""" (a too big word...) of the problem is: "?" is still > >>> waiting for input. I tried > >>> > >>> > >>> ?desc<CR> > >>> > >>> instead, but now "?" tries to find "desc<CR>" literally and did not > >>> find it. > >>> > >>> There seem to be an exception of the "type the commands as you would > >>> do normally"-rule here...but what is the rule to recognize that the > >>> current situation is an exception and what is the solution? > >>> > >>> Thank you very much in advance for any help ! :) > >>> > >>> Have a nice weekend! > >>> mcc > >>> > >>> > >> What you're using is a "searching range" (as in ":?desc" from the > >> keyboard). > >> It positions the cursor on the first nonblank in the matched line. > >> > >> To use a "search command" (as in "?desc" from the keyboard) in an > >> Ex-command > >> line, use ":normal": > >> > >> normal ?desc > >> > >> see > >> :help :range > >> :help :normal > >> > >> > >> Best regards, > >> Tony. > >> > > > > Hi Tony, > > > > :O) thank you,Tony !:O) > > > > > > execute "normal ?desc\<CR>" > > > > will do the job and it seems, that a final > > > > execute "normal cw" on the found "desc" cannot be done correctly, > > since the command is not finished (which it should eb according to > > the :help normal text). > > > > Have a nice weekend! > > mcc > > > > > > > > > > > > "normal cw" is not finished since the c (change) commands needs to be told > _to_ what you want to change the replaced word. What you can do instead > (IIUC) > is "normal diw" (delete inner word) followed by "startinsert!". Note that > "startinsert[!]" only makes sense as the last statement of the script > (because > insert-mode will be delayed until then). > > Have a nice weekend too. > > > Best regards, > Tony. > Hi Tony, ...the "normal diw"+startinsert!-trick works nice ! Thanks a lot -- such little helpers like the now finally working Function-header-function() are the _real_ stuff helping one to speed up the daily work -- and of course the helping hands, which make the helper-function work ... :O) Happy VIMming! mcc