W czasach fizycznych terminali nie istniały schowki obejmujące całą sesję, tylko kilka programów obsługiwało wewnętrzne kopiowanie / wklejanie - często pod nazwą „buforów” lub „zabójczych pierścieni” - i używało różnych różnych naciśnięć klawiszy. Na przykład, powłoka bash używa CtrlKlub CtrlU„zabija” (wycina), CtrlY„szarpa” (wkleja); ten pochodzi z tej emacs edytora .
CtrlCprawie wszędzie w Uniksie był klawisz „przerwania” , używany do anulowania bieżącego programu lub operacji. CtrlVKlucz często oznaczało „verbatim insert” - czyli wstawić następujące charakter dosłownie bez wykonywania żadnych powiązanych działań. Na przykład normalnym Escprzełącza się w tryb w poleceniu vi edytora, ale CtrlV, Escbędzie wstawić ESC
znak do dokumentu.
Korzystanie z funkcji CtrlCkopiowania i CtrlVwklejania ze schowka dla całej sesji zostało wprowadzone przez Mac OS w 1983 roku i Microsoft Windows 3.x w 1990 roku. (Wcześniejsze wersje Windows (1.x i 2.x), a także IBM OS / 2 , obsługiwane tylko klucze IBM CUACtrlIns do kopiowania i ShiftInswklejania; skróty te są obsługiwane przez wszystkie wersje systemu Windows).
Kiedy GUI z obsługą schowka w końcu dotarły do Uniksa, Ctrlnaciśnięcia klawiszy były już używane przez wiele programów terminalowych. Ponadto interfejs graficzny X miał nieco inne mechanizmy : „selekcje” i „bufory cięcia”. Nawet teraz możesz zaznaczyć tekst w jednym programie i wstawić go za pomocą środkowego przycisku myszy, bez żadnej wyraźnej operacji kopiowania.
Krótko mówiąc, do czasu napisania Xterm i GNOME Terminal (domyślam się, że używasz tego drugiego), CtrlV już od wielu lat miało ono zupełnie inne znaczenie i nie mogło być zmienione. Ponadto alternatywna metoda kopiowania tekstu - „zaznaczenie” - była już obecna w X11, więc jawne działanie kopiuj / wklej prawdopodobnie nie było tak ważne, jak byłoby w systemie Windows. Oznacza to, że musiały zostać wybrane różne skróty klawiaturowe - na przykład większość nowoczesnych programów terminalowych, takich jak GNOME Terminal, użyj CtrlShiftCi CtrlShiftV. (Jeśli używasz Xterm, te same skróty można dodać ręcznie, korzystając z Xresource XTerm * vt100 * . Rxvt nie ma takiej opcji).
(Większość zestawów narzędzi X11 obsługuje także klawisze CUA „kopiuj” i „wklej”, które nie powodują konfliktu z programami terminalowymi. Niestety implementacje są raczej niespójne - CtrlInskopiowanie do „schowka” w większości programów (GTK, Qt4, ale ignorowane przez Xaw); jednak ShiftInswkleja się z „podstawowej selekcji” w większości programów GTK i Qt4, ale z „schowka” w Firefoksie i z przestarzałych buforów cięcia w przestarzałym Xaw.)
Wszystko, co powiedział, niektóre terminale lub konsole (w szczególności konsoli systemu Windows 10) zrobić wspierać te klucze. Ponieważ konsola Windows zawsze miała osobny tryb „zaznacz / wybierz”, CtrlCteraz ma również dwa znaczenia oparte na kontekście - w trybie zwykłym wysyła przerwanie, w trybie wyboru kopiuje do schowka (tak jak Enterkiedyś).
Tymczasem narzędzia wiersza polecenia systemu Windows nigdy tak naprawdę nie były używane CtrlV do niczego, więc musiały „wklejać” się, nie zakłócając niczego. Robienie tego samego na terminalach uniksopodobnych byłoby jednak bardziej problematyczne.
Shift
-Insert
również działa