I suspect that's because the search command is saving and restoring the cursor position. I was thinking that a way around it would be to create a once-only autocommand, but I found:
1) BufEnter/WinEnter events aren't called when returning from /, 2) call cursor(1,1) doesn't seem to do what I wanted even when I switched windows with wincmd w 3) I probably don't know the right event to use 4) I probably don't know the right way to define the autocommand function! TT() aug TT " "au BufEnter * call input('bufenter here' ) | aug TT | au! | aug END | aug! TT "au winEnter * call input('winenter here' ) | aug TT | au! | aug END | aug! TT au bufEnter * echomsg 'TT() bufenter' au bufEnter * call cursor(1,1) au bufEnter * aug TT au bufenter * au! au bufenter * aug END au bufenter * aug! TT au winEnter * echomsg 'TT() winenter' au bufEnter * call cursor(1,1) au winEnter * aug TT au winenter * au! au winenter * aug END au winenter * aug! TT aug END endfunction On 4/19/06, Hari Krishna Dara <[EMAIL PROTECTED]> wrote: > > If you execute a function that changes the cursor position from the > search prompt, vim completely ignores it, but the same works fine from > the command prompt. Say, you have something like this: > > function! TT() > call cursor(1,1) > return "" > endfunction > > and you execute it as: > > :<C-R>=TT()<CR> > > the cursor position gets changed to the start of the file, but the same > doesn't work if you do the below: > > /<C-R>=TT()<CR> > > Is this a bug or intended behavior? I can't find a way to get this to > work without coming out of the search prompt, go into the command > prompt to execute the function, and return back to the search prompt. > Any help is apprecaited. > > -- > Thanks, > Hari > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com >