green_fr: (Default)
[personal profile] green_fr
Отличная шутка на bash.org, я давно так не хохотал, но только для программистов:

V: А ещё мне тут пришла в голову правильная аналогия про Vim
V: Это короче так: садишься ты в машину, а там вместо руля и педалей стоит БАЯН
V: И каждая кнопка что-то означает, типа: — вперёд 100 м — вперёд 1 км — вперёд до ближайшего светофора — вперёд до отделения полиции — обогнать впереди едущую машину
V: И ещё когда ты садишься, двери блокируются и надо тоже нажать последовательность кнопок на баяне, чтобы выйти
V: А если в движении случайно нажмёшь esc и выйдешь из режима движения, то вместо движения вперёд машина бибикает
V: И соответственно есть прокачанные баянисты, которые ездят по дорогам, играя мелодии. Быстро, эффективно ездят


Чтобы хотя бы что-то было понятно и остальным. Есть такой текстовый редактор, в котором работаешь не только без мышки, то и без комбинаций кнопок на клавиатуре. То есть, ты не можешь нажать Ctrl-C или Ctrl-V — редактор писали на случай ядерной войны так, чтобы он работал всегда, даже по сети, даже когда связь настолько плохая, что информация о нажатии одной кнопки может дойти, а про вторую — нет. И вам не нужно, чтобы вместо Ctrl-C у нас напечаталось C.

Соответственно, у редактора есть три режима:
1. Режим ввода. Когда каждая кнопка с буквой (символом) обозначает просто букву, и та печатается в редактируемом документе.
2. Режим навигации. Поскольку кнопки со стрелочками — это «сложные» кнопки, то они ведь тоже не работают. Вместо них в режиме навигации используются кнопки j / k / l / m — это влево / вниз / вверх / вправо соответственно. Помимо этих кнопок задействована вся остальная клавиатура, и в этом настоящее богатство vi — есть вариант «перепрыгнуть на одно слово» (аналог «Ctrl-стрелочки»), но есть и вариант «перепрыгнуть на 5 слов». Можно перейти в конец строки (аналог «Ctrl-End»), а можно перейти на третье с конца слово в пятом параграфе, начиная от текущего. Там же поиск — можно перейти на второе слово, в котором не менее четырёх гласных. И начала программирования для замены — найди слова из 4 букв, если первая из них «f», то замени вторую на «*». Вы не поверите, но это часто крайне удобно, экономит часы времени. Красивая иллюстрация того, как наложенные снаружи ограничения заставляют нам создавать шедевры.
3. Режим работы с системой. Здесь те же самые кнопки выполняют команды вроде «сохрани файл», «выйди меня отсюда».
Ну и отдельные кнопки в каждом из режимов, чтобы перейти в другой режим (упомянутый в анекдоте Esc).

Понятно, что первые несколько месяцев работаешь крайне медленно, причём обложившись документацией. Потом либо плюёшь и ставишь себе нормальный редактор, либо становишься вот таким вот, описанным в анекдоте баянистом.

Date: 2020-05-18 02:24 pm (UTC)
From: [identity profile] gianthare.livejournal.com
Вот это был ужас. Я по-моему, одну программу так таки написал. Потом я обнаружил, vi, потом emacs, а когда смог выйти из имакса, то nano/pico и им я реально пользовался, пока не вернулся в emacs.
Зато ed можно комманды через пайп скармливать

Date: 2020-05-18 02:41 pm (UTC)
From: [identity profile] green-fr.livejournal.com
Ну, я его только в виде пайпа и использовал. Всё-таки, 90-е, а не 70-е.

Date: 2020-05-19 03:17 pm (UTC)
From: [identity profile] gianthare.livejournal.com

а зачем? Много файлов одинаковых редактировать? Я обычно перлом

Date: 2020-05-20 09:10 am (UTC)
From: [identity profile] green-fr.livejournal.com
Да толком и смысла никакого не было. На уроках нам его показали, и мы потом на базовой кафедре как-то автоматически на нём и работали. То есть вот просто код писать, тот же perl.

off: У меня дипломная работа была на перле. Как сейчас помню физиономию моего руководителя, когда я ему сказал, что хочу назвать диплом "написание автоматической системы написания автоматических систем автоматической обработки данных" (просто идея вставлять свои таги с кодом в html, что-то вроде asp или php). Реакция шефа: ну блин, ты когда-нибудь станешь серьёзным, а?

Date: 2020-05-20 10:26 am (UTC)
From: [identity profile] gianthare.livejournal.com
Не понял, на ed вы код писали?

офф: ха-ха-ха

Date: 2020-05-20 11:47 am (UTC)
From: [identity profile] green-fr.livejournal.com
Нет, прости, это я запутался. Ed - pipe (да, именно когда много одинаковых файлов), vi - perl.

Profile

green_fr: (Default)
green_fr

July 2025

S M T W T F S
   1 2 3 45
6789101112
13141516171819
20212223242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 5th, 2025 05:52 pm
Powered by Dreamwidth Studios