green_fr: (Default)
green_fr ([personal profile] green_fr) wrote2020-05-18 09:12 am

Шутка про баян

Отличная шутка на 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).

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

[identity profile] mikhailian.livejournal.com 2020-05-18 08:17 am (UTC)(link)
Баяном vim выглядит только для тех, кто учит его по методу обезъяны.

Фишка вима в том, что само редактирование текста должно восприниматься как программирование. 5d — удалить пять строк (5 delete), caw — удалить текущее слово и приготовиться писать (change append word) и так далее и тому подобное. Вот комментарий на SO объясняет (https://stackoverflow.com/a/1220118/661236) всё гораздо лучше меня.

Ну и конечно без понимания контекста использования ex, ed, sed и культуры unix 70-х годов к vim привыкнуть сложно.

[identity profile] green-fr.livejournal.com 2020-05-18 10:05 am (UTC)(link)
Об этом и речь :-) Был же другой анекдот о том, что мир людей, плохо понявших школьную физику, преисполнен волшебства.

[identity profile] el-philippa.livejournal.com 2020-05-18 11:43 am (UTC)(link)
Можно анекдот?

[identity profile] green-fr.livejournal.com 2020-05-18 01:52 pm (UTC)(link)
Это он был целиком :-) "Мир людей, плохо понявших школьную физику, преисполнен волшебства".

[identity profile] xxxxx.livejournal.com 2020-05-18 10:28 am (UTC)(link)
да запросто привыкнуть, я вимом начал пользоваться раньше чем юниксом: очень удобный редактор и к тому же есть практически на каждой платформе, чего ещё желать. Баяном он выглядит неумехам, но сейчас развилась такая культура поржать над теми кто что-то умеет. Ха-ха типа вон идиоты пользуются машинами с ручной переключалкой передач, а мы не умеем, ах какие мы симпатичные поэтому.

[identity profile] green-fr.livejournal.com 2020-05-18 01:53 pm (UTC)(link)
Да ладно тебе! Я понимаю, и даже точно так же раздражаюсь на то, что ты описываешь, но сравнение с баяном вся равно прикольное! При том, что я скорее умею на нём играть, чем нет. А всё равно смешно :-)