The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: bakul@bitblocks.com (Bakul Shah)
Subject: [TUHS] basic tools / Universal Unix
Date: Sun, 29 Oct 2017 19:54:28 -0700	[thread overview]
Message-ID: <20171030025444.16E04156E7D8@mail.bitblocks.com> (raw)
In-Reply-To: Your message of "Mon, 30 Oct 2017 00:55:07 -0000." <20171030005507.D30C620202@orac.inputplus.co.uk>

On Mon, 30 Oct 2017 00:55:07 -0000 Ralph Corderoy <ralph at inputplus.co.uk> wrote:
Ralph Corderoy writes:
> Hi Bakul,
> 
> Regarding vi:
> > As an example, you can map a key to do a sequence of operations but
> > you you can't then use it in conjunction with search to repeat them
> > over a range of lines.
> 
> You can use tail recursion in the macro because a failed search causes
> it to stop.  So `qqq' to start recording to register `q', and then
> instantly stop recording, clearing it.  Then the real definition, ending
> in an execution of the empty `q'.
> 
>     qq/4$^Ma2^[@qq
> 
> And finally an `@q' to kick off the recursion.

Thanks, didn't know about q. However, nvi doesn't have q.  vim
does (but I rarely ever use it so when I tried the above it
failed). What I was getting at is being able to define
commands that can take one or two arguments like the bulitins,
separate from any key mapping. You need an ability to pass and
refer to arguments as well as refer to the current context.
And to be able to operate on char/word/line/para/sections.  If
this machinery was accessible, may be even many of vi's
builtins can be implemented this way.  E.g "d}" maps to
(delete 1para), "3dd" maps to (delete 3line) and so on.


  reply	other threads:[~2017-10-30  2:54 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-16 17:52 Clem Cole
2017-10-16 18:16 ` Tom Ivar Helbekkmo
2017-10-16 20:39   ` Toby Thain
2017-10-16 18:54 ` [TUHS] " Dan Cross
2017-10-17 13:51   ` Tony Finch
2017-10-17 20:22     ` Steffen Nurpmeso
2017-10-16 20:05 ` Bakul Shah
2017-10-30  0:55   ` Ralph Corderoy
2017-10-30  2:54     ` Bakul Shah [this message]
2017-10-30 14:05       ` Ralph Corderoy
2017-10-16 20:39 ` Andy Kosela
2017-10-18 23:03 Doug McIlroy
2017-10-19  3:53 ` Random832
2017-10-19 14:33   ` Steffen Nurpmeso
2017-10-19 14:41     ` Random832
2017-10-19 21:03       ` Steffen Nurpmeso
2017-10-20 19:54       ` Steffen Nurpmeso
2017-10-19 14:32 ` Steffen Nurpmeso
2017-10-30 14:16 Noel Chiappa
2017-10-30 14:40 ` Clem Cole
2017-10-30 15:23 ` Arthur Krewat
2017-10-30 20:56 ` Dave Horsfall
2017-10-31 10:50   ` Ronald Natalie
2017-11-01  3:23     ` Dave Horsfall
2017-11-01 13:25       ` Tim Bradshaw
2017-11-16  1:17         ` Dario Niedermann
2017-11-15  1:25       ` Nemo
2017-11-15  2:10         ` Will Senn
2017-11-15  2:16           ` Larry McVoy
2017-11-15  2:37             ` Warner Losh
2017-11-15  3:07               ` Will Senn
2017-11-15 16:13                 ` Arthur Krewat
2017-11-15 16:23                   ` Arthur Krewat
2017-11-15 16:48                     ` Clem Cole
2017-11-15 18:13                       ` Bakul Shah
2017-11-15 19:01                         ` Clem Cole
2017-11-15  9:58               ` Andy Kosela
2017-11-15 11:42           ` Ralph Corderoy
2017-11-01 14:05     ` Ralph Corderoy
2017-11-01 16:42       ` arnold
2017-11-01 17:17         ` Ralph Corderoy
2017-11-01 18:03           ` Dan Cross
2017-11-01 18:06           ` arnold
2017-11-01 20:16             ` Bakul Shah
2017-11-01 20:37               ` arnold
2017-11-01 21:04                 ` Bakul Shah
2017-11-02  0:05                 ` Chet Ramey
2017-11-02  0:10             ` Ralph Corderoy
2017-10-31 16:43   ` Don Hopkins
2017-11-02 17:48   ` Paul Winalski
2017-10-30 21:50 ` Charles Anthony
2017-10-30 21:40 Noel Chiappa
2017-10-31 19:23 Norman Wilson
2017-11-01 22:51 Norman Wilson
2017-11-01 23:09 ` Lyndon Nerenberg
2017-11-02 20:29 ` Grant Taylor
2017-11-15 14:06 Noel Chiappa
2017-11-15 17:12 ` Ralph Corderoy
2017-11-15 17:47   ` Larry McVoy
2017-11-15 18:40   ` Bakul Shah
2017-11-15 19:58     ` Larry McVoy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171030025444.16E04156E7D8@mail.bitblocks.com \
    --to=bakul@bitblocks.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).