Hacker News new | past | comments | ask | show | jobs | submit login

The Wikipedia article for Cut, Copy, and Paste[1] seems to have this bit that's cited to that book:

> Inspired by early line and character editors that broke a move or copy operation into two steps—between which the user could invoke a preparatory action such as navigation—Lawrence G. Tesler (Larry Tesler) proposed the names "cut" and "copy" for the first step and "paste" for the second step. Beginning in 1974, he and colleagues at Xerox Corporation Palo Alto Research Center (PARC) implemented several text editors that used cut/copy-and-paste commands to move/copy text.

I imagine those "early line and character editors" refers to vi's delete, yank, and put, and emacs's kill, copy/"save as if killed", and yank. I wonder what other editors had back then, before the names he came up with became standardized.

I also wonder how the idea of the operations developed before Larry Tesler contributed to it.

Looking at POSIX[2], it seems ex has delete, yank, and put, but I can't see similar functionality in standard ed (GNU's ed does have yank, but I guess it's an extension).

[1] https://en.wikipedia.org/wiki/Cut,_copy,_and_paste#Populariz...

[2] https://pubs.opengroup.org/onlinepubs/9699919799/




TECO from the 1960's had more than cut and paste, multiple storage slots called "q registers" (they were named with letters) into which you could put text from the main buffer, and from which you could retrieve it back. Text regions in the buffer were referred to by numeric ranges, some number of characters forward or back relative to the current cursor position, with additional notions such as "here to beginning/end of line" or "n lines back/forward from cursor"

TECO commands were typed in as code, essentially, and that code could also be saved and run as macros.

it was extremely powerful, such that emacs was originally written as TECO Edit MACros.


Ah! That's why vi's letter-named registers are written to with the q command.


I wonder if they're supposed to be "q(uick) registers".

EDIT: Maybe not:

https://retrocomputing.stackexchange.com/questions/12081/why...


I was confused by the ‘q’ command in vi, so I did quick testing (in nvi(1)) and scanned vim cheat sheets. I still don’t know what ‘q’ does in the named buffer context - help?


Recording macros, I think.


Looks like you’re correct![0]

In nvi, I just key my commands on a scratch line (testing occasionally), then:

   “xyy
to load the whole line (yy) into buffer ‘x’ (“x). Execution (@x) thereafter looks ~same.

[0] https://vim.fandom.com/wiki/Macros


FWIW, Larry also contributed some of his historical knowledge to the Talk page [1] of the Wikipedia article and also edited the article himself.

[1] https://en.wikipedia.org/wiki/Talk:Cut,_copy,_and_paste


Nice catch! And it was on a discussion on the question of "Does anyone know where this idea came from?"

Here's a nice bit:

> I chose Z/X/C/V when I was in charge of the user interface design of Apple's Lisa. In addition to their adjacency on the keyboard, I wanted them to have mnemonic value: "X" a cross-out; "V" an inverted caret or proofreader's arrowhead; "C" the first letter of "copy"; the strokes of "Z" tracing a reversal followed by a new path forward. -- Larry Tesler

> Correction: Apparently, my memory was incorrect. The Lisa user interface seems to have used "U" for Undo. On the Mac (as in Gypsy), "U" was and is for Underline. I do not know who chose "Z" for Mac Undo, or why. I suspect that its proximity to the Command key was the reason. -- Larry Tesler

There's more, but it's too much to insert here.

I'm just hoping this isn't someone posing as Larry Tesler.


Douglas Engelbart demonstrated copy/paste with a mouse in 1968 [1], however I'm not sure what he called the process. It was also very much an experimental system and not something for sale.

[1] https://www.youtube.com/watch?v=yJDv-zdhzMY


> I imagine those "early line and character editors" refers to vi's delete, yank, and put, and emacs's kill, copy/"save as if killed", and yank.

No, 1974 predates both vi and Emacs


You're right, I missed that. Vi's predecessor ex, which also had these operations, is from '76, so it also couldn't be it. However, Emacs's TECO, which also had yank, is from '62/'63, so that might've been one.



Ed doesn't seem to have those operations. GNU ed's documentation includes yank, but it's not described in POSIX.


There's more than emacs or vi in "editor history" e.g. https://en.wikipedia.org/wiki/Bravo_%28software%29 and follow-ups at Xerox PARC.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: