[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: move/copy question
From: |
Thomas Dickey |
Subject: |
Re: move/copy question |
Date: |
Thu, 6 Jun 2024 04:09:54 -0400 |
On Thu, Jun 06, 2024 at 05:05:30AM +0000, david sowerby wrote:
> According to the O'Reilly book Vile doesn't have the vi 'move' command (or
> the 'copy' one either?) But checking through Vile's "show-commands" they are
> both described -- 'move-til' and 'copy-til'. But they don't work :-(
> ...........or am I doing something wrong? A search in the Archives gives no
> result. Another month another question.
They are in the symbol table for completeness, but as the message says,
not implemented. The reason for the omission is that (without a lot of
work, of course), the vi-compatible syntax wouldn't work with the way
vile's ":" line is parsed:
+ vi works by reading the whole line all at once, and picking out what
it needs.
+ vile works by accepting the line in steps which allow for
name-completion and scrolling through the history.
The basic scheme of parsing in steps dates from the early 1990s.
Later in the 1990s, I did a lot of the name-completion and
history mechanism.
While _that_ has some quirks (which I've gotten used to, and
overlook), getting that to work well took a lot of time :-)
The archives don't go back that far, of course (looks like that began in
January 2006). Paul Fox used to run a mailing list on his machine.
I'm not aware of an archive for that, and don't have a complete set.
There was some occasional discussion of the above points, and I probably
have some relevant mail, but digging it out would take some work :-(
The code in its current form dates from 1996, with some reformatting in 2001:
1.277 (pgf 01-May-96): /* ARGSUSED */
1.277 (pgf 01-May-96): int
1.290 (tom 15-Mar-97): unimpl(int f GCC_UNUSED, int n GCC_UNUSED)
1.277 (pgf 01-May-96): {
1.453 (tom 21-Aug-01): mlwarn("[Sorry, that vi command is
unimplemented in vile ]");
1.453 (tom 21-Aug-01): return FALSE;
1.277 (pgf 01-May-96): }
1.277 (pgf 01-May-96):
1.277 (pgf 01-May-96): int
1.277 (pgf 01-May-96): opercopy(int f, int n)
1.277 (pgf 01-May-96): {
1.453 (tom 21-Aug-01): return unimpl(f, n);
1.277 (pgf 01-May-96): }
1.277 (pgf 01-May-96):
1.277 (pgf 01-May-96): int
1.277 (pgf 01-May-96): opermove(int f, int n)
1.277 (pgf 01-May-96): {
1.453 (tom 21-Aug-01): return unimpl(f, n);
1.277 (pgf 01-May-96): }
but the unimpl and related functions date from 1991:
REV:1.6 main.c 1991/05/31 11:12:19 pgf
changed args to execute(), and
added linespec character class, and
added unimplemented ex functions
All of this is in RCS, but I've exported stuff to git -
https://invisible-island.net/personal/git-exports.html
https://github.com/ThomasDickey/vile-snapshots
https://github.com/ThomasDickey/pgf-vile-snapshots
--
Thomas E. Dickey <dickey@invisible-island.net>
https://invisible-island.net
signature.asc
Description: PGP signature