On Tuesday, July 11, 2017 at 8:21:33 PM UTC+2, Gary Johnson wrote:
> On 2017-07-11, astian wrote:
> > zdohnal wrote:
> > > Hi,
> > >
> > > I encountered this issue so I would like to ask if it is bug or it is
> > > correct behavior. When I want to save directory listing into other
> > > file by command:
> > >
> > > $ vim . -c "w output-file" -c "q"
> > >
> > > but output-file is empty in the end. Is it bug or optin -c is cannot
> > > be be used with netrw plugin (which is used when I open directory in
> > > vim)? When I do it by hand step by step:
> > >
> > > 1) $ vim .
> > > 2) :w output-file
> > > 3) :q
> > >
> > > it works and output-file contains correct data.
> >
> > Don't know whether it should be considered a bug, but I can explain you
> > why it happens.
> >
> > The function in netrw that checks whether a directory listing should be
> > created is s:LocalBrowse and that function does nothing unless
> > s:VimEnter was called first, and s:VimEnter itself is triggered by a
> > VimEnter event. And VimEnter events fire:
> >
> > After doing all the startup stuff, including loading .vimrc files,
> > executing the "-c cmd" arguments, creating all windows and loading the
> > buffers in them.
> >
> > So basically, your "-c cmd" arguments are executing before netrw has had
> > a chance to produce the listing.
> >
> > This worked for me:
> >
> > $ vim -c 'call netrw#LocalBrowseCheck(expand("%:p")) | w /tmp/listing |
> > q' .
>
> You can also do this:
>
> vim -c 'au VimEnter * w! output-file | q' .
>
> I originally tried that with --cmd instead of -c, but it didn't work
> for the reason you gave in your explanation. That is, --cmd put my
> autocommand before netrw's in the list of VimEnter autocommands,
> whereas -c put my autocommand after netrw's. Thanks.
>
> Regards,
> Gary
Thank you guys, much appreciated :)
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.