Nos dias de terminais físicos , não existiam pranchetas para toda a sessão, apenas alguns programas suportavam copiar / colar interno - geralmente sob o nome de "buffers" ou "kill rings" - e usavam várias teclas diferentes. Por exemplo, o shell bash usa CtrlKou CtrlUpara "matar" (cortar), CtrlY"puxar" (colar); isso vem do emacs editor .
CtrlCEm quase todos os lugares do Unix havia a tecla "interrupção" , usada para cancelar o programa ou operação atual. A CtrlVchave geralmente significava "inserção literal" - ou seja, insira o seguinte caractere literalmente sem executar nenhuma ação associada. Por exemplo, um normal Escmuda para o modo no comando vi editor, mas CtrlV, Escirá inserir o ESC
caractere no documento.
O uso de CtrlCcopiar e CtrlVcolar da área de transferência para toda a sessão foi introduzido pelo Mac OS em 1983 e pelo Microsoft Windows 3.x em 1990. (Versões anteriores do Windows (1.xe 2.x), bem como pelo IBM OS / 2 , suportou apenas as teclas IBM CUACtrlIns para copiar e ShiftInscolar; esses atalhos permanecem suportados por todas as versões do Windows.)
Quando as GUIs com suporte à área de transferência finalmente chegaram ao Unix, as Ctrlteclas já estavam em uso por muitos programas de terminal. Além disso, a interface gráfica X possuía mecanismos um tanto diferentes : "seleções" e "buffers de corte". Mesmo agora, você pode selecionar o texto em um programa e inseri-lo usando o botão do meio do mouse, sem nenhuma ação explícita de cópia.
Em suma, no momento em que o Xterm e o GNOME Terminal foram escritos (acho que você usa o último), CtrlV já tinham um significado completamente diferente por muitos anos e não podiam ser alterados. Além disso, um método alternativo de copiar texto - a "seleção" - já estava presente no X11, portanto, a ação explícita de copiar / colar provavelmente não era tão importante quanto seria no Windows. Isso significa que diferentes atalhos de teclado tiveram que ser selecionados - por exemplo, os programas de terminal mais modernos, como o GNOME Terminal, usam CtrlShiftCe CtrlShiftV. (Se você usar o Xterm, os mesmos atalhos podem ser adicionados manualmente usando o Xresm * vt100 * traduções Xresource. O Rxvt não possui essa opção.)
(A maioria dos kits de ferramentas X11 também suporta as teclas "copiar" e "colar" do CUA, que não entram em conflito com os programas do terminal. Infelizmente, as implementações são bastante inconsistentes - CtrlInscópias para a "área de transferência" na maioria dos programas (GTK, Qt4, mas ignoradas por Xaw); no entanto, ShiftInscola da "seleção primária" na maioria dos programas GTK e Qt4, mas da "área de transferência" no Firefox e dos buffers de corte agora obsoletos no Xaw agora obsoleto).
Tudo o que disse, alguns terminais ou consolas (em particular, o console do Windows 10) fazer apoiar essas chaves. Como o console do Windows sempre teve um modo "marcar / selecionar" separado, CtrlCagora também tem dois significados baseados no contexto - no modo regular ele envia uma interrupção, no modo de seleção copia para a área de transferência (como Entercostumava ser).
Enquanto isso, as ferramentas de linha de comando do Windows nunca eram realmente usadas CtrlV para nada, portanto era obrigatório "colar" sem incomodar muito. Fazer o mesmo em terminais tipo Unix, no entanto, seria mais problemático.
Shift
-Insert
também funciona