¿Cómo lograron manejar una computadora Unix antes de los ratones y copiar y pegar?

12

Dado que Unix tiene 40 años, Unix es más antiguo que la invención del mouse de computadora. (En realidad, solo 3 años, si Unix es de 1969 y el mouse de 1972). ¿Cómo demonios un nuevo usuario hizo algo en Unix sin copiar y pegar? Sé que siempre tuvieron un editor de texto con copiar / pegar, pero todo lo que hago en Linux es copiar desde el navegador web y pegar (desde el CLIPBOARD) en vim o gedit o terminal gnome. Eres igual, ¿verdad?

Simplemente no puedo imaginar cargar un archivo man en vim, copiar y pegar código de él en un búfer temporal, y luego hacer que bash ejecute ese búfer. Quizás nunca dejaron emacs; es esa la respuesta?

marinara
fuente
11
¿Adivina por qué los comandos UNIX anteriores tienen solo dos letras? :-)
Riccardo Murri
2
@RiccardoMurri Ese es un problema diferente: les llevó cerca de una década completar los shells de Unix.
Gilles 'SO- deja de ser malvado'
44
Tenga en cuenta que "la web" no era un destello en los ojos de Tim Berners-Lee cuando se escribió Unix. De hecho, las redes informáticas, tal como las conocemos, todavía estaban en pañales. Era un mundo distinto.
dmckee --- ex-gatito moderador
8
todo lo que hago es copiar y pegar parece un hábito muy peligroso;)
Sr. Shunz
Apenas C&P usando el mouse en Vim. Simplemente use los comandos de texto para eso, por ejemplo, yypara copiar (tirar) la línea actual y ppegarla.
Martin Scharrer

Respuestas:

30

Copiar y pegar es más antiguo que el mouse. El primer editor de Unix, ed , tenía el tcomando de copiar un montón de líneas en una ubicación diferente. En vi, hay varios comandos para cortar, tirar y pegar texto. Para copiar texto entre archivos, debe guardar el texto para copiarlo en un archivo temporal e importarlo en el documento de destino, por ejemplo, con wy ren ed ( :wy :ren vi). Para incluir la salida de un comando en un archivo, debe redirigir su salida ( mycommand >fileo mycommand >>file) e importar ese archivo a su documento; vi introdujo el !comando y amigos para insertar directamente la salida sin requerir un archivo temporal.

Cargar una página de manual en Vim o Emacs y copiar y pegar desde ella es una rutina para los usuarios de Vim / Emacs. Los navegadores web no existían hasta que Unix tenía la edad suficiente para beber, pero el mismo principio se aplica en cualquier parte: el portapapeles es más antiguo que los entornos de ventanas. Lo que trajeron los entornos de ventana fue copiar y pegar entre aplicaciones , lo que se podía hacer con solo un poco más de esfuerzo a través de los archivos.

Gilles 'SO- deja de ser malvado'
fuente
Gracias por responder seriamente a mi pregunta!
marinara
24

La respuesta simple es "no copiaron ni pegaron". No en la forma en que lo entiendes, de todos modos.

Los primeros sistemas Unix usaban teletipos o terminales tontos para uso interactivo. Estos dispositivos no tenían los poderosos conjuntos de comandos de terminal que hicieron viposibles innovaciones posteriores (!) . (Sí, una vez , viera de alta tecnología.) Por lo tanto, no tenía forma de marcar visualmente el texto para copiarlo o cortarlo.

Al carecer de terminales inteligentes, los primeros sistemas Unix ofrecían un editor de línea llamado ed. Lo más parecido que tiene que cortar y pegar con edestá el tcomando, con el que se puede especificar líneas por número a ser t ransferred (copiado) a otra ubicación en el archivo.

Las tarjetas perforadas y la cinta de papel seguían siendo medios de E / S importantes en este momento. Una forma de "editar" una cinta de papel es filtrar sus datos a través de algo como sed, directamente desde un lector de cinta de papel, ya que está leyendo los datos. Hoy sedse utiliza para otras cosas, pero fue mucho más importante en los primeros días de Unix

Warren Young
fuente
2
sedes impresionante para raspar páginas web recuperadas con wget.
LawrenceC
9

No, no todos son iguales. No todos copian el código de Internet para ejecutarlo en su máquina. Algunas personas realmente escriben código y a veces lo publican en la web.

Por lo general, no tiene que dejar un editor de texto para leer datos de algún otro archivo (como una página de manual) o para enviar datos para su ejecución o a un archivo.

Además, con frecuencia copio y pego entre aplicaciones en un terminal sin usar el mouse, incluso hoy. GNU-screeny tmuxadmite el uso del teclado para seleccionar elementos de la pantalla en un portapapeles y pegarlos en el shell o en otros programas en otras ventanas de terminal, o guardarlo para más adelante.

Caleb
fuente
44
+1 "Algunas personas realmente escriben código". Gracias. El OP solo refuerza el estereotipo de copiar y pegar cosas de script-kiddies sin saber lo que hace. Cargo-Cult Programming alguien lo llamó. No era más DIFÍCIL hacer las cosas 'en aquel entonces', solo requería que SABÍAS las cosas, en lugar de tener un recuerdo de memoria impulsado por Google. La gente solía leer cosas llamadas libros, memorizaba información y entendía cómo funcionaban las cosas. Mucho se ha perdido. (Voy a señalar con el dedo a "Visual ...", tontando a los programadores).
lornix
4

Cuando comencé a usar SunOS (antes de que existiera Linux), si algo era realmente complicado, lo imprimiríamos en ese encantador papel de barra verde y blanco, lo llevaría de vuelta al terminal y nos pondríamos a trabajar. También (ab) utilizamos aplicaciones que nos permiten ejecutar múltiples terminales desde un solo acceso telefónico. (¡300 módems en baudios sacudidos!)

Ah, y cometimos muchos errores de un solo carácter que tomaron días en cazar. Esa fue la vida.

Christopher Bibbs
fuente