On 8/21/06, A.J.Mechelynck <[EMAIL PROTECTED]> wrote:
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"?

Nothing gets displayed. Jürgen must be right.

Yakov

Reply via email to