[Toybox] [PATCH] vi: rename `-s` flag to `-c`

Rob Landley rob at landley.net
Wed Jun 12 13:50:22 PDT 2024


On 6/11/24 07:50, enh wrote:
>> Looking further at this, what is the behavioral difference between -c and -s?
>> The patch does nothing but change one into the other, with no other behavior
>> change I've spotted?
...
>> I thought for a moment that -c was jumping straight into esc-colon mode with the
>> command line at the bottom of the screen, but the -c example above does not
>> provide -c on the command line and I am just CONFUSED.
...
> i think the objection is quite simple, no? -c takes a _command_
> whereas -s takes a _filename_ (and that file is full of commands).
> what's currently implemented _is_ -s, and it would be wrong to rename
> it to -c.

Ok, so -c _does_ jump to esc-colon mode and -s doesn't, and the patch isn't
changing the behavior. Got it.

(Typed that, then didn't send it and instead opened vi.c instead, rewrote most
of the help text, gave up on making sense of the vim man page and instead
started reading the posix vi page, which delegates to the ex page...)

CAN OF WORMS.

No idea how to cleanly explain that "a is like i but moves the cursor one
character to the right first, for no obvious reason". I mean, does that come up
a lot? And "A is END then i". Design question of whether to try to explain to
someone how to use this (assuming they have cursor keys and thus don't need
weird combos like that), or is there a duty to list what we've implemented?
(Which in general has _not_ been toybox policy: the help text doesn't mention
things we included for compatibility with old scripts/habits that are never the
obvious answer to "how do I do X", there should be one obvious way to do it and
was before Guido retired... But that's a heck of an editorial judgement, isn't it?

Sigh, over the years I've had various vi cheatsheets (and once taught an intro
to unix course at the local community college which had a week on vi), but if I
still have any they're packed in a box in storage after the move. This command
is the poster child for "each user uses a subset of the options, but no two
quite agree on WHICH subset..."

Rob


More information about the Toybox mailing list