Como eles conseguiram dirigir um computador Unix antes dos ratos e copiar e colar?

12

Como o Unix tem 40 anos, o Unix é mais antigo que a invenção do mouse do computador. (Na verdade, apenas 3 anos, se o Unix é de 1969 e o mouse, de 1972.) Como no mundo um novo usuário fez alguma coisa no Unix sem copiar e colar? Eu sei que eles sempre tiveram um editor de texto com copiar / colar, mas tudo o que faço no Linux é copiar do navegador da web e colar (do CLIPBOARD) no vim ou no gedit ou no terminal do gnome. Você é o mesmo, certo?

Eu simplesmente não consigo imaginar carregar um arquivo man no vim, copiar e colar o código dele em um buffer temporário e, em seguida, fazer com que o bash execute esse buffer. Talvez eles nunca tenham deixado o emacs; essa é a resposta?

marinara
fonte
11
adivinhe por que os comandos UNIX mais antigos têm apenas duas letras? :-)
Riccardo Murri
2
@RiccardoMurri Essa é uma questão diferente: demorou cerca de uma década para que os shells unix estivessem completos.
Gilles 'SO- stop be evil'
4
Note que "a web" não era um brilho nos olhos de Tim Berners-Lee quando o unix foi escrito. Na verdade, as redes de computadores como a conhecemos ainda estavam em sua infância. Era um mundo diferente.
dmckee --- gatinho ex-moderador
8
tudo o que faço é copiar e colar parece um hábito muito perigoso;)
Sr. Shunz
Eu dificilmente C&P usando o mouse no Vim. Simplesmente use os comandos de texto para isso, por exemplo, yypara copiar (puxar) a linha atual e pcolá-la.
Martin Scharrer

Respostas:

30

Copiar e colar é mais antigo que o mouse. O primeiro editor unix, ed , tinha o tcomando de copiar várias linhas para um local diferente. No vi, existem vários comandos para recortar, puxar e colar texto. Para copiar texto entre arquivos, salve o texto para copiar em um arquivo temporário e importe esse arquivo temporário no documento de destino, por exemplo, com we rem ed ( :we :rno vi). Para incluir a saída de um comando em um arquivo, você redirecionaria a saída ( mycommand >fileou mycommand >>file) e importaria esse arquivo para o seu documento; vi introduziu o !comando e os amigos para inserir diretamente a saída sem exigir um arquivo temporário.

Carregar uma página de manual no Vim ou Emacs e copiar e colar a partir dela é rotina para os usuários do Vim / Emacs. Os navegadores da Web não existiam até o Unix ter idade suficiente para beber, mas o mesmo princípio se aplica a qualquer lugar: a área de transferência é mais antiga que os ambientes das janelas. O que os ambientes da janela trouxeram foi copiar e colar entre aplicativos , o que poderia ser feito com apenas um pouco mais de esforço nos arquivos.

Gilles 'SO- parar de ser mau'
fonte
Obrigado por responder seriamente a minha pergunta!
Marinara
24

A resposta simples é "eles não copiaram e colaram". Não da maneira que você entende, de qualquer maneira.

Os primeiros sistemas Unix usavam teletipos ou terminais mudos para uso interativo. Esses dispositivos não tinham os poderosos conjuntos de comandos do terminal que possibilitavam inovações posteriores (!) vi. (Sim, era uma vez , viera alta tecnologia.) Portanto, você não tinha como marcar visualmente o texto a ser copiado ou cortado.

Na falta de terminais inteligentes, os primeiros sistemas Unix ofereciam um editor de linha chamado ed. A coisa mais próxima que você tem que cortar e colar com edé o tcomando, com o qual você pode especificar linhas pelo número a ser t ransferred (copiados) para outro local no arquivo.

Cartões perfurados e fita de papel ainda eram importantes mídias de E / S no momento. Uma maneira de "editar" uma fita de papel é filtrar seus dados por meio de algo como sed, diretamente de um leitor de fita de papel enquanto ele lê os dados. Hoje em dia sedé usado para outras coisas, mas era muito mais importante nos primeiros dias de Unix.

Warren Young
fonte
2
sedé incrível para raspar páginas da web recuperadas com wget.
LawrenceC
9

Não, nem todos são iguais. Nem todo mundo copia código da Internet para rodar em sua máquina. Algumas pessoas realmente escrevem código e às vezes publicam na web.

Normalmente, você não precisa deixar um editor de texto para ler dados de outro arquivo (como uma página de manual) ou enviar dados para execução ou para um arquivo.

Além disso, costumo copiar e colar entre aplicativos em um terminal sem usar o mouse ainda hoje. GNU-screene tmuxsuporte o uso do teclado para selecionar itens da tela em uma área de transferência e colá-los no shell ou em outros programas em outras janelas do terminal ou mantê-lo para mais tarde.

Caleb
fonte
4
+1 "Algumas pessoas realmente escrevem código". Obrigado. O OP apenas reforça o estereótipo de copiar / colar coisas de crianças pequenas de script sem saber o que faz. Programação de cultos de carga que alguém chamou. Não era MAIS DIFÍCIL fazer as coisas 'naquela época', bastava que você SABIA as coisas, em vez de ter um recall de memória direcionado pelo google. As pessoas liam coisas chamadas livros, memorizavam informações e entendiam como as coisas funcionavam. Tanta coisa foi perdida. (Vou apontar o dedo para "Visual ...", emburrecendo os programadores).
Lornix
4

Quando comecei a usar o SunOS (antes da existência do Linux), se algo realmente era complicado, imprimíamos no adorável papel em barra verde e branco, devolvíamos ao terminal e começávamos a trabalhar. Também (ab) usamos aplicativos que permitem executar vários terminais a partir de uma única conexão discada. (Modems de 300 baud abalaram!)

Ah, e cometemos muitos erros de caracteres únicos que levaram dias para serem caçados. Essa foi a vida.

Christopher Bibbs
fonte