À l'époque des terminaux physiques , il n'existait pas de presse-papiers au niveau de la session. Seuls quelques programmes étaient compatibles avec le copier / coller interne - souvent sous le nom de "tampons" ou "anneaux de destruction" - et utilisaient différentes frappes au clavier. Par exemple, le shell bash utilise CtrlKou CtrlUpour "tuer" (couper), CtrlYpour "tirer" (coller); cela vient de l' éditeur emacs .
CtrlCPresque partout dans Unix se trouvait la touche "interruption" , utilisée pour annuler le programme ou l'opération en cours. La CtrlVclé signifiait souvent "insertion textuelle", c’est-à-dire insérer littéralement le caractère suivant sans effectuer aucune action associée. Par exemple, une normale Escpasse en mode commande dans le vi éditeur, mais CtrlV, Escinsère le ESC
caractère dans le document.
L’utilisation de CtrlCcopier et CtrlVcoller à partir du presse-papiers de la session a été introduite par Mac OS en 1983 et Microsoft Windows 3.x en 1990. (versions antérieures de Windows (1.x et 2.x), ainsi que IBM OS / 2 , pris en charge uniquement par les clés IBM CUACtrlIns à copier et ShiftInsà coller; ces raccourcis restent pris en charge par toutes les versions de Windows.)
Lorsque les interfaces graphiques avec support du presse-papiers ont finalement atteint Unix, les Ctrltouches de frappe étaient déjà utilisées par de nombreux programmes terminaux. De plus, l'interface graphique X avait des mécanismes quelque peu différents : "sélections" et "coupures de tampons". Même maintenant, vous pouvez sélectionner du texte dans un programme et l'insérer à l'aide du bouton central de la souris, sans aucune action de copie explicite.
En bref, au moment où Xterm et GNOME Terminal ont été écrits (je suppose que vous utilisez ce dernier), ils CtrlV avaient déjà une signification complètement différente depuis de nombreuses années et ne pouvaient pas être modifiés. De plus, une autre méthode de copie de texte - la "sélection" - était déjà présente dans X11; une action copier / coller explicite a donc probablement été jugée moins importante que sous Windows. Cela signifie que différents raccourcis clavier devaient être sélectionnés - par exemple, la plupart des programmes de terminal modernes, tels que Terminal GNOME, utilisent CtrlShiftCet CtrlShiftV. (Si vous utilisez Xterm, les mêmes raccourcis peuvent être ajoutés manuellement à l'aide de Xresource XTerm * vt100 * translations . Rxvt ne dispose pas d'une telle option.)
(La plupart des toolkits X11 supportent également les clés "copier" et "coller" de CUA, qui n'entrent pas en conflit avec les programmes terminaux. Malheureusement, les implémentations sont plutôt incohérentes - les CtrlInscopies dans le "presse-papiers" de la plupart des programmes (GTK, Qt4, mais ignorées par Xaw); cependant, les ShiftInspâtes sont issues de la "sélection principale" dans la plupart des programmes GTK et Qt4, mais de "presse-papiers" dans Firefox et des buffers désormais obsolètes du Xaw, devenu obsolète.)
Cela dit, certains terminaux ou consoles (notamment la console Windows 10) prennent en charge ces touches. Comme la console Windows avait toujours un mode "marque / sélection" distinct, elle a CtrlCdésormais deux significations basées sur le contexte: en mode normal, elle envoie une interruption, en mode sélection, elle est copiée dans le presse-papiers (comme Enterauparavant).
Pendant ce temps, les outils de ligne de commande Windows ne sont jamais vraiment utilisés CtrlV pour quoi que ce soit, alors il était tenu de "coller" sans déranger beaucoup. Faire la même chose sur des terminaux de type Unix serait toutefois plus problématique.
Shift
-Insert
travaille aussi