Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Substituting grep (and other) output to open files in Vim
On Tue, 10 May 2011, Richard Hartmann wrote:
Hi all,
I would like to be able to do the following, but I am stuck. Every
pair of lines is what I would execute and what it would be transferred
to. I am assuming that every file "name" (i.e. including colons etc) I
am running Vim on does not exist. If it exists, it should be opened
instead of magic happening. "foo" exists while "foo:" etc do not.
vim foo:
vim foo
vim foo:bar
vim foo
vim foo:123
vim foo +123
vim foo:123:
vim foo +123
vim foo:123:bar
vim foo +123
Ideally, the same would happen for vimdiff. And yes, vimdiff heeds
only one +n and the last one on the command line wins. That's fine.
I am pretty sure this is trivial to do in zsh, but as I said I am at a
loss as to how..
I'm at a loss as to "why". :-)
What's the actual problem you're trying to solve? These don't seem like
things you would want to type, so it looks like you're joining a bunch
of parameters with colons only to want to separate them out to separate
arguments later. If you keep them in an array in the first place, you
don't have this problem. And maybe it'd be easier to get what you want.
e.g. (without handling the ':bar' portion since I don't know what it
would be)
vimargs=( vim )
(( $+file )) && vimargs+=( $file )
(( $+line )) && vimargs+=( +$line )
$vimargs
--
Best,
Ben
Messages sorted by:
Reverse Date,
Date,
Thread,
Author