Yakov Lerner wrote:
On 8/21/06, Yakov Lerner <[EMAIL PROTECTED]> wrote:
On 8/21/06, A.J.Mechelynck <[EMAIL PROTECTED]> wrote:
> Yakov Lerner wrote:
> > I want to make saving of unnamed buffers possible as follows:
> > When I do :w on a unnamed buffer, I want it to save to the
> > file /tmp/N where N is number.
> >
> > I tried the simple code below, but it does not work. I am getting
> > 'E32: No file name', same error as without this code.
> >
> > How do I fix it ?
> >
> > Thanks
> > Yakov
> > " ------------ attempt to save unnamed buffer to file /tmp/N -----
> > au BufWritePre if(expand('%') == '') | exe "filename ".TempName()
| endif
> >
> > function! TempName()
> > let x=1
> > while filereadable("/tmp/".x)
> > let x = x + 1
> > endwhile
> > return "/tmp/".x
> > endfun
> >
> >
>
> Instead of ":filename" which AFAIK is not a Vim command, try using
> ":file" or ":saveas" instead.
I fixed another bug, the '*' missing in the autocommand:
au BufWritePre * if(expand('%') == '') | exe "file ".TempName() | endif
au BufWritePre * if(expand('%') == '') | exe "saveas ".TempName() | endif
, but still no luck. I'm still getting the "E32: No file name" error.
Yakov
Well, what gets displayed when you replace "exe" by "echo" or "echomsg"?
That's a well-known debugging trick.
Best regards,
Tony.