On Thu, 30 Jul 2009 16:00:57 +0200 James Vega wrote: [...] > On Sun, May 17, 2009 at 07:09:49PM +0200, Francesco Poli (t1000) wrote: > > This option could be named "--drop-empty" or something like that. > > It would work as follows: when vim (or view, or ...) is started with > > this option, any newly created buffer > > A buffer is created for every file you tell Vim to open, regardless of > whether the file exists on disk yet or whether the file has any > contents.
I am aware of this: my proposed option would indeed modify this
behavior, when it is useful to immediately close empty buffers...
>
> > is checked and automatically closed if found to be empty.
> >
> > This way, my use of View as a pager would automatically exit (with
> > 0 exit status, of course, because nothing went wrong) when the output
> > of some_command is empty:
> >
> > $ some_command | view --drop-empty -
> >
> > [snip]
> > This could be useful when you want to edit already existing files,
> > without creating new ones, and you do *not* know in advance which
> > files exist (among the ones of a given list).
>
> Vim notifies you that the buffer doesn't have a corresponding file on
> disk already.
What do you mean "Vim notifies me"?
When I issue the following command:
$ some_command | view -
there *never* is a corresponding file for the newly opened buffer, IIUC.
When some_command writes something to its stdout, I can use View as a
pager to visualize this output. On the other hand, when some_command
writes nothing to its stdout, View shows me the VIM "splash screen" and
I have to manually issue the :q command to exit.
I would like to have an option to automatically exit in the latter case.
>
> > Could this new feature be implemented?
> > Please forward this feature request to upstream, if appropriate.
>
> The feature is of marginal use and can be achieved through scripting.
> Tagging the bug as wontfix.
What's the best way to check whether the current buffer is empty in a
VIM script (that I can invoke with "view -s dropempty.vim")?
I searched in VIM documentation, but failed to find anything simpler
than
$ cat dropempty.vim
:if line2byte(line("$") + 1) == 2
: q
:endif
This script seems to work, but, frankly speaking, it's contorted,
inelegant, and needlessly complicated.
Moreover, it's a bit slow: I am able to see the "splash screen" shortly
flashing, before View exits.
Any better solutions?
--
New location for my website! Update your bookmarks!
http://www.inventati.org/frx
..................................................... Francesco Poli .
GnuPG key fpr == C979 F34B 27CE 5CD8 DC12 31B5 78F4 279B DD6D FCF4
pgpZbcGGkFKpR.pgp
Description: PGP signature

