Wie haben sie es geschafft, einen Unix-Computer vor Mäusen zu fahren und zu kopieren und einzufügen?

12

Da Unix 40 Jahre alt ist, ist Unix älter als die Erfindung der Computermaus. (Eigentlich nur 3 Jahre, wenn Unix von 1969 und die Maus von 1972 ist.) Wie in aller Welt hat ein neuer Benutzer etwas unter Unix gemacht, ohne Kopieren und Einfügen? Ich weiß, dass sie immer einen Texteditor mit Copy / Paste hatten, aber alles, was ich unter Linux mache, ist das Kopieren vom Webbrowser und Einfügen (von der CLIPBOARD) in vim oder gedit oder gnome terminal. Du bist derselbe, richtig?

Ich kann mir nicht vorstellen, eine Man-Datei in vim zu laden, Code von dort in einen temporären Puffer zu kopieren und einzufügen und diesen Puffer dann von bash ausführen zu lassen. Vielleicht haben sie nie Emacs verlassen; Ist das die Antwort?

Marinara
quelle
11
raten Sie mal, warum die älteren UNIX-Befehle nur zwei Buchstaben lang sind? :-)
Riccardo Murri
2
@RiccardoMurri Das ist ein anderes Problem: Es dauerte ungefähr ein Jahrzehnt, bis Unix-Shells fertiggestellt waren.
Gilles 'SO- hör auf böse zu sein'
4
Beachten Sie, dass "das Web" in Tim Berners-Lees Augen kein Schimmer war, als Unix geschrieben wurde. In der Tat steckte die Computervernetzung, wie wir sie kennen, noch in den Kinderschuhen. Es war eine andere Welt.
dmckee --- Ex-Moderator Kätzchen
8
alles was ich tue ist kopieren und einfügen scheint eine sehr gefährliche Angewohnheit zu sein;)
Mr Shunz
Ich habe in Vim kaum C & P mit der Maus. Verwenden Sie dazu einfach die yyTextbefehle , z. B. um die aktuelle Zeile zu kopieren (zu ziehen) und einzufügen p.
Martin Scharrer

Antworten:

30

Kopieren-Einfügen ist älter als die Maus. Der erste Unix-Editor, ed , hatte den tBefehl, ein paar Zeilen an einen anderen Ort zu kopieren. In vi gibt es verschiedene Befehle zum Ausschneiden, Ziehen und Einfügen von Text. Um Text zwischen Dateien zu kopieren, speichern Sie den zu kopierenden Text in einer temporären Datei und importieren diese temporäre Datei in das Zieldokument, z. B. mit wund rin ed ( :wund :rin vi). Um die Ausgabe eines Befehls in eine Datei aufzunehmen, leiten Sie dessen Ausgabe um ( mycommand >fileoder mycommand >>file) und importieren diese Datei in Ihr Dokument. vi führte den !Befehl und die Freunde ein, die Ausgabe direkt einzufügen, ohne eine temporäre Datei zu benötigen.

Das Laden einer Manpage in Vim oder Emacs und das Einfügen von Kopien ist für Vim / Emacs-Benutzer Routine. Webbrowser existierten erst, als Unix alt genug war, um etwas zu trinken, aber das gleiche Prinzip gilt überall: Die Zwischenablage ist älter als Windows-Umgebungen. Was Fensterumgebungen mit sich brachten, war anwendungsübergreifendes Kopieren und Einfügen, was mit ein wenig mehr Aufwand durch Dateien geschehen konnte.

Gilles 'SO - hör auf böse zu sein'
quelle
Vielen Dank für die ernsthafte Beantwortung meiner Frage!
Marinara
24

Die einfache Antwort lautet: "Sie haben nicht kopiert und eingefügt." Jedenfalls nicht so, wie du es verstehst.

Die frühesten Unix-Systeme verwendeten Teletypen oder dumme Terminals für die interaktive Verwendung. Diese Geräte verfügten nicht über die leistungsfähigen Terminal-Befehlssätze , die spätere Innovationen (!) viMöglich machten . (Ja, es war einmal , viwar Hochtechnologie.) Sie haben daher keine Möglichkeit, visuell Zeichen Text kopiert oder geschnitten werden.

Frühere Unix-Systeme verfügten nicht über intelligente Terminals und boten einen so genannten Zeileneditored . Die nächste Sache , die Sie müssen Cut-and-Paste mit edwird der tBefehl, mit dem Sie Linien nach Nummer angeben zu sein t ransferred (kopiert) an eine andere Stelle in der Datei.

Lochkarten und Papierbänder waren zu dieser Zeit noch wichtige I / O-Medien. Eine Möglichkeit, ein Papierband zu "bearbeiten", besteht darin, seine Daten durch so etwas wie seddirekt von einem Papierbandlesegerät aus zu filtern , während es die Daten sedeinliest Unix.

Warren Young
quelle
2
sedist fantastisch zum Scrappen von Webseiten, mit denen abgerufen wird wget.
LawrenceC
9

Nein, nicht jeder ist gleich. Nicht jeder kopiert Code aus dem Internet, um ihn auf seinem Computer auszuführen. Einige Leute schreiben tatsächlich Code und veröffentlichen ihn manchmal im Internet.

Normalerweise müssen Sie keinen Texteditor verlassen, um Daten aus einer anderen Datei (z. B. einer Manpage) einzulesen oder Daten zur Ausführung oder in eine Datei zu senden.

Außerdem kopiere und füge ich häufig anwendungsübergreifend in ein Terminal ein, ohne die Maus zu benutzen. GNU-screenund tmuxUnterstützung bei der Verwendung der Tastatur, um Elemente vom Bildschirm in eine Zwischenablage auszuwählen und sie entweder in die Shell oder in andere Programme in anderen Terminalfenstern einzufügen oder für später aufzubewahren.

Caleb
quelle
4
+1 "Einige Leute schreiben tatsächlich Code". Vielen Dank. Das OP bekräftigt lediglich das Stereotyp des Kopierens / Einfügens von Dingen durch Script-Kiddies, ohne zu wissen, was es tut. Cargo-Cult Programming hat es jemand genannt. Es war nicht SCHWIERIGER, Dinge 'damals' zu tun, sondern nur Dinge ZU WISSEN, anstatt einen Google-gesteuerten Speicherabruf durchzuführen. Die Leute lasen Dinge, die man Bücher nannte, lernten Informationen und verstanden, wie Dinge funktionierten. Es ist so viel verloren gegangen. (Ich zeige mit dem Finger auf "Visual ..." und mache die Programmierer fertig).
Lornix
4

Als ich anfing, SunOS zu verwenden (bevor Linux existierte), haben wir, wenn etwas wirklich kompliziert war, es auf diesem schönen grünen und weißen Balkenpapier ausgedruckt, es zum Terminal zurückgebracht und uns an die Arbeit gemacht. Wir haben auch (ab) Anwendungen verwendet, mit denen wir mehrere Terminals von einer einzigen Einwahl aus ausführen können. (300 Baud Modems gerockt!)

Oh, und wir haben viele einzelne Zeichenfehler gemacht, die Tage in Anspruch genommen haben, um sie zu finden. So war das Leben.

Christopher Bibbs
quelle