Date: Wed, 25 Sep 2013 19:47:08 -0700 From: Gary Kline <kline@thought.org> To: Polytropon <freebsd@edvax.de> Cc: FreeBSD Mailing List <freebsd-questions@freebsd.org> Subject: Re: minor vi/vim qstn Message-ID: <20130926024708.GA3908@ethic.thought.org> In-Reply-To: <20130926030600.8850ddc5.freebsd@edvax.de> References: <20130925212741.GA19434@ethic.thought.org> <20130926002327.6502d1b9.freebsd@edvax.de> <20130926002104.GA12932@ethic.thought.org> <20130926030600.8850ddc5.freebsd@edvax.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Organization: Thought Unlimited. Public service Unix since 1986. Of_Interest: With 27 years of service to the Unix community. On Thu, Sep 26, 2013 at 03:06:00AM +0200, Polytropon wrote: > On Wed, 25 Sep 2013 17:21:04 -0700, Gary Kline wrote: > > Organization: Thought Unlimited. Public service Unix since 1986. > > Of_Interest: With 27 years of service to the Unix community. > > > > On Thu, Sep 26, 2013 at 12:23:27AM +0200, Polytropon wrote: > > > On Wed, 25 Sep 2013 14:27:41 -0700, Gary Kline wrote: > > > > am I misremembering this feature, or didnt vi have a syntax where > > > > you typed something like: > > > > > > > > % vi[#] or % vi [-2] [or vi [-N] > > > > > > > > to repeat the last or the second from last command? with my > > > > shoulder sore bloody sore I need to save every key stroke. > > > > > > To repeat the last command, "." can be used. > > > > > > The vi editor (and probably vim and gvim) supports > > > according to "man vi": > > > > > > [Vi]i[sual][!] [+cmd] [file] > > > Vi mode only. Edit a new file. > > > > > > Is this what you're searching for? > > > > > > I THOGoHT it was "!", but lookit: > > > > > > pts/14 17:11 <tao> [5010] vi sent > > pts/14 17:11 <tao> [5011] vi! > > zsh: command not found: vi! > > pts/14 17:12 <tao> [5012] > > > > ....... this is vi == vim. > > > > AHA:: found it. it's [bang]<commant> > > > > > > pts/14 17:17 <tao> [5016] vi sent > > pts/14 17:17 <tao> [5017] !v > > > > > > I'll tell ya, if vi disappeared , I'd end it all! > > Ah, I see - you've been refering to repeating a _shell_ > command (so the question was regarding the shell, which > in your case is Z shell). > > You can probably use (like in the C shell) the arrow keys > to browse the command history. Similarly, you can use the > "!<number>" command refering to the command number obtained > by the "history" command. There's a handy alias defined > globally for the C shell: "h" which means "history 25" > (lists the last 25 commands), handy in regards of saving > keystrokes. :-) > > I assume the zsh is also capable of "filtered history": > For example, you enter "vi s" and use the up and down > arrow keys to browse all commands that have been entered > starting with "vi s" (for example "vi sent", "vi stuff" > and so on). If the system's csh can do this, zsh should > also provide this useful feature. > > And as your prompt "pts/14 17:12 <tao> [5012]" suggests, > the command number is being shown. If this information > is the same as the command number in the history, entering > "!5010" would execute the 2nd from last command. > > To repeat the last command, whatever it has been, "!!" > can be used. Again, this works in csh, so I can't predict > if it will work in zsh too, but I _assume_ it does. > dunno how you know im using the zsh, but yup. with the bang stuff if you do a % !-3 you go back three vi cmds. !-N, N cmds. thankfully there are shortcuts! gary ps: zsh is sort of a ksh clone; I remember porting the zsh onto my 286 in 1989. got a lot of csh-isms :) -- Gary Kline kline@thought.org http://www.thought.org Public Service Unix Twenty-seven years of service to the Unix community. http://www.thought.org/HOPE
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130926024708.GA3908>