From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17005 invoked by alias); 10 May 2011 13:52:34 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: X-Seq: 16012 Received: (qmail 26640 invoked from network); 10 May 2011 13:52:33 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW, T_TO_NO_BRKTS_FREEMAIL autolearn=ham version=3.3.1 Received-SPF: pass (ns1.primenet.com.au: SPF record at _spf.google.com designates 209.85.210.171 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:from:date:message-id:subject:to :content-type; bh=To+5zPsHq8I2HDGLnvd+MhGPq8sT+kdIgr6a91i4N0w=; b=oaHMQFyrgk3cMo3jplsbrpkKNHqgt6D9LDz5lubFRk+RrAvxb6OM/OljfSOcod9Mjw 77X2mOyM55aE0M29R2sQbnhAVJ1fhMXdSfGd/3UbkWmW18Q16waLW6xx1mE5kK1y8b1D NxCi1LQo1/aNQvUvr8xzSK+EOBqjrkChEOh6c= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; b=Dq1nabYFBghz1NzijeK5zlWsmAmduMAdAGxWGmXaqnrxcJth/K9UXJZ5WE11Gt45W5 0kYdhPSEfUFW36nPsmi12+368hEh2TS1TFAQ0VmJZKP8Xs4il8wAkVWfuwd6enTNAl3+ EhUXQfVi8ldSpUxCasG8JljClkLPvRx6nMwXE= MIME-Version: 1.0 From: Richard Hartmann Date: Tue, 10 May 2011 15:46:42 +0200 Message-ID: Subject: Substituting grep (and other) output to open files in Vim To: zsh-users@zsh.org Content-Type: text/plain; charset=UTF-8 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.. Thanks, Richard