Как им удалось управлять компьютером Unix до мышей и копировать и вставлять?

12

Поскольку Unix 40 лет, Unix старше, чем изобретение компьютерной мыши. (На самом деле, всего 3 года, если Unix с 1969 года, а мышь с 1972 года.) Как в мире новый пользователь делал что-то на Unix без копирования и вставки? Я знаю, что у них всегда был текстовый редактор с копированием / вставкой, но все, что я делаю в Linux, это копирование из веб-браузера и вставка (из клавиатуры) в терминал vim, gedit или gnome. Ты такой же, верно?

Я просто не могу представить, как загрузить файл man в vim, скопировать и вставить код из него во временный буфер, а затем заставить bash выполнить этот буфер. Может быть, они никогда не покидали Emacs; это ответ?

маринара
источник
11
угадайте, почему старые команды UNIX имеют длину всего две буквы? :-)
Риккардо Мурри
2
@RiccardoMurri Это другая проблема: на завершение работы оболочек Unix ушло около десяти лет.
Жиль "ТАК - перестань быть злым"
4
Обратите внимание, что «сеть» не была проблеском в глазах Тима Бернерса-Ли, когда был написан Unix. Действительно, компьютерные сети, какими мы их знаем, были еще в зачаточном состоянии. Это был другой мир.
dmckee --- котенок экс-модератора
8
все, что я делаю, это копирование и вставка, кажется очень опасной привычкой;)
Мистер Шунц,
Я вряд ли C & P с помощью мыши в Vim. Для этого просто используйте текстовые команды, например, yyдля копирования (восстановления) текущей строки и pдля ее вставки.
Мартин Шаррер

Ответы:

30

Копировать-вставить старше, чем мышь. У первого редактора Unix, ed , была tкоманда скопировать несколько строк в другое место. В vi есть различные команды для вырезания, восстановления и вставки текста. Чтобы скопировать текст между файлами, вы должны сохранить текст для копирования во временный файл и импортировать этот временный файл в целевой документ, например, с wи rв ed ( :wи :rв vi). Чтобы включить вывод команды в файл, вы должны перенаправить вывод ( mycommand >fileили mycommand >>file) и импортировать этот файл в ваш документ; vi представил !команду и друзей, чтобы напрямую вставить вывод, не требуя временного файла.

Загрузка страницы man в Vim или Emacs и вставка копий с нее - обычное дело для пользователей Vim / Emacs. Веб-браузеры не существовали до тех пор, пока Unix не стал достаточно взрослым, чтобы его можно было пить, но тот же принцип применим везде: буфер обмена старше оконной среды. Окружающая среда принесла кросс-прикладную копирование-вставку, что можно было сделать с помощью файлов, потратив немного больше усилий.

Жиль "ТАК - перестань быть злым"
источник
Спасибо за серьезный ответ на мой вопрос!
маринара
24

Простой ответ: «Они не копировали и не вставляли». Во всяком случае, не так, как ты это понимаешь.

Самые ранние системы Unix использовали телетайпы или тупые терминалы для интерактивного использования. Эти устройства не имели мощных терминальных наборов команд, которые делали возможными последующие инновации (!) vi. (Да, когда - то давно , viбыла высокой технологии.) , Поэтому у вас не было никакого способа визуально знака текста, скопированного или вырезанного.

Не имея интеллектуальные терминалы, системы раннего Unix предложили редактор строки с именем ed. Ближе всего вы должны вырезать и вставить с edэто tкоманда, с помощью которого можно указать строки по номеру , чтобы быть т ransferred (копируется) в другое место в файле.

Перфокарты и бумажная лента все еще были важными носителями ввода-вывода. Один из способов «отредактировать» бумажную ленту состоит в том, чтобы отфильтровать ее данные через что-то вроде sedнепосредственно из устройства чтения бумажных лент во время чтения данных. Сегодня sedпривыкли к другим вещам, но это было гораздо важнее в первые дни Unix.

Уоррен Янг
источник
2
sedэто здорово для очистки веб-страниц, полученных с wget.
LawrenceC
9

Нет, не все одинаковы. Не все копируют код из интернета для запуска на своей машине. Некоторые люди действительно пишут код, а иногда публикуют его в Интернете.

Обычно вам не нужно выходить из текстового редактора, чтобы читать данные из какого-либо другого файла (например, страницы руководства) или отправлять данные либо для выполнения, либо в файл.

Кроме того, я часто делаю кросс-вставку в терминале без использования мыши даже сегодня. GNU-screenи tmuxподдерживает использование клавиатуры для выбора объектов на экране в буфер обмена и вставки их либо в оболочку, либо в другие программы в других окнах терминала, либо оставьте их на потом.

Калеб
источник
4
+1 "Некоторые люди действительно пишут код". Спасибо. ОП просто укрепляет стереотип о том, что сценаристы копируют / вставляют вещи, не зная, что они делают. Программирование Cargo-Cult кто-то назвал. Делать что-то «тогда» было не ТРУДНО, просто нужно, чтобы вы ЗНАЛИ, а не вызывали воспоминания из памяти Google. Люди обычно читали книги, запоминали информацию и понимали, как все работает. Так много было потеряно. (Я собираюсь указывать пальцем на «Visual ...», ошарашивая программистов).
Lornix
4

Когда я начал использовать SunOS (до того, как появился Linux), если что-то было действительно сложным, мы распечатывали его на этой прекрасной зелено-белой полосковой бумаге, возвращали в терминал и приступали к работе. Мы также (ab) использовали приложения, которые позволяют нам запускать несколько терминалов из одного набора. (300 бод модемов качал!)

О, и мы сделали много односимвольных ошибок, на поиски которых уходили дни. Это была жизнь.

Кристофер Биббс
источник