In de dagen van de fysieke terminals bestonden er geen sessiebrede klemborden, slechts enkele programma’s ondersteunden intern kopiëren/plakken - vaak onder de naam “buffers” of “kill rings” - en gebruikten verschillende toetsaanslagen. De bash shell gebruikt bijvoorbeeld CtrlK of CtrlU om te “doden” (knippen), CtrlY om te “rukken” (plakken); dit komt van de emacs editor .
CtrlC was bijna overal in Unix de “interrupt”-toets , die werd gebruikt om het huidige programma of de huidige bewerking te annuleren. De CtrlV-toets betekende vaak “verbatim insert” - dat wil zeggen, het volgende teken letterlijk invoegen zonder een bijbehorende actie uit te voeren. Bijvoorbeeld, een normale Esc schakelt over naar de commandomodus in de vi editor, maar CtrlV, Esc voegt het teken ESC
in het document in.
Het gebruik van CtrlC om te kopiëren en CtrlV om te plakken van het sessiebrede klembord werd geïntroduceerd door Mac OS in 1983 en Microsoft Windows 3.x in 1990. (Eerdere Windows versies (1.x en 2.x), evenals IBM OS/2, ondersteunden alleen de IBM CUA toetsen CtrlIns om te kopiëren en ShiftIns om te plakken; deze snelkoppelingen blijven door alle Windows versies ondersteund.)
Toen GUI’s met klembordondersteuning eindelijk Unix bereikten, waren de Ctrl-toetsentoetsen al in gebruik door vele terminalprogramma’s. Bovendien had de grafische X-interface enigszins verschillende mechanismen : “selecties” en “cut buffers”. Zelfs nu kunt u tekst in één programma selecteren en invoegen met de middelste muisknop, zonder enige expliciete kopieeractie.
Kortom, tegen de tijd dat Xterm en GNOME Terminal werden geschreven (ik neem aan dat u de laatste gebruikt), had CtrlV al jarenlang een heel andere betekenis en kon het niet meer worden veranderd. Bovendien was een alternatieve methode om tekst te kopiëren - de “selectie” - al aanwezig in X11, dus een expliciete kopieer/plakactie werd waarschijnlijk niet zo belangrijk geacht als in Windows. Dit betekent dat er verschillende sneltoetsen moesten worden geselecteerd - bijvoorbeeld, de meeste moderne terminalprogramma’s, zoals GNOME Terminal, gebruiken CtrlShiftC en CtrlShiftV. (Als u Xterm gebruikt, kunnen dezelfde snelkoppelingen handmatig worden toegevoegd met behulp van de _XTerm*vt100*translations Xresource. Rxvt heeft een dergelijke optie niet.)
(De meeste X11 toolkits ondersteunen ook de CUA “kopieer” en “plak” toetsen, die niet in strijd zijn met terminal programma’s. Helaas zijn de implementaties nogal inconsistent - CtrlIns kopieert naar het “klembord” in de meeste programma’s (GTK, Qt4, maar genegeerd door Xaw); ShiftIns plakt echter uit de “primaire selectie” in de meeste GTK en Qt4 programma’s, maar uit “klembord” in Firefox, en uit de nu-verouderde cut-buffers in de nu-verouderde Xaw. )
Dit alles gezegd hebbende, sommige terminals of consoles (in het bijzonder de Windows 10 console) do ondersteunen deze toetsen. Aangezien de Windows console altijd een aparte “mark/select” modus had, heeft CtrlC nu ook twee betekenissen gebaseerd op context - in normale modus stuurt het een interrupt, in select modus kopieert het naar het klembord (net zoals Enter gewend was).
Ondertussen hebben de Windows command-line tools nooit echt gebruikt CtrlV voor iets, dus het was gebonden aan “plakken” zonder veel te storen. Hetzelfde doen op Unix-achtige terminals zou echter problematischer zijn.