We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
On this page
Table of Contents
Skip to article contentИзначально было опубликовано на Медиуме
Полный текст того, с чем я спорю, тут: http://plan9.bell-labs.com/wiki/plan9/Mouse_vs._Keyboard/index.html
Самая главная проблема как этого текста, так и текстов, на которые он ссылается, это то, что он полностью и безнадежно устарел. При том, что сам текст датируется 2011-м годом, он ссылается на тексты 1989 и 1991 годов, а сам борется только и исключительно с vim’ом.
С 1989-го года прошло уже 26 лет, а вместо vim’а есть и другие интсрументы (да-да, и вместо emacs’а, который там упоминается вскользь, тоже).
В целом, основной аргумент в пользу «надо часто пользоваться мышью» сводится к следующему:
- в vim’е нет этого, это удобнее сделать мышкой
- в vim’е вот эта определенная комбинация команд хуже чем в acme, поэтому надо пользоваться мышью
- в emacs’е вот эта определенная комбинация команд хуже чем в acme, поэтому надо пользоваться мышью
ORLY?
Ниже по тексту используются Apple’овские комбинации клавиш. В Линуксе и Винде Cmd
заменяется на Ctrl
.
Чувак, ты противоречишь сам себе
It is true that it is slower to use the mouse for, say, deleting a tab from the beginning of every line than it is to use the keyboard and type “^xjxjxjxjxjxjxjxjxjxjxjxjxj” in vi. But at that point you’re basically programming the editor (with a manually unrolled for loop) more than actually editing.
Говорит нам человек, и тут же предлагает следующее:
When the mouse is properly accelerated, many of us find that it’s faster and easier to highlight the lines in question and then type and execute
Edit s/^<tab>//g
in acme or just types/^<tab>//g
in sam’s command window. This is such a common operation that acme provides two shell scripts so you can leave|unind
and|ind
in the tag of your window and click on them whenever you want.
Стоп. Чем исполнение команд в окне команд и shell-скрипты (!) отличаются от программирования редактора? Да ничем, абсолютно. Особенно позабавило «разместите кнопочки для вызова этих команд в окошечке, и кликайте на них».
Во-первых, что-то мне подсказывает, что в vim’е можно точно так же выделить линии и набрать s/^<tab>//g
Во-вторых, что-то мне подсказывает, что в vim’е можно точно так же привязать короткие команды к скриптам(хотя да, нельзя их будет разместить в окошке)
В-третьих, в какой-нибудь IDEA я могу выделить все строчки и нажать Tab
для смещения вправо или Shift+Tab
для смещения влево (комбинация клавиш, которая работала, емнип, еще в Delphi в начале 2000-х, и имеющаяся в большом количестве редакторов). Что в разы удобнее, чем регулярки, пусть даже в виде кнопочек на панели
В четвертых, в той же IDEA я могу нажать Cmd+R
(replace) и ввести то же регулярное выражение. Ах, да. Даже не задумываясь о том, что мне надо тянуться за мышью.
В мире есть не только vi
but all I can think is "damnit, if I could just click where I want to go I’d be there by now."
Чувааак, в мире есть не только vi. Да, мышь — полезная штука для таких действий, но никто это и не отрицает. Ты придумал себе, что кто-то с этим спорит, и активно борешься с вымышленными оппонентами.
Наверное, все редакторы, кроме vi, имеют возможность ткнуть, куда угодно, скроллбары и возможность выделять текст мышкой. Да, потому что это удобно. Нет, это не значит, что за мышкой надо тянуться постоянно (например, чтобы переключиться в другое окно или чтобы запустить скрипт из кнопочки)
Если тебе нужны костыли, значит, что тебе костыли не нужны
It’s important to have a good mouse, of course. It needs three real buttons, not two button with an intelliwheel in the middle.
А можно и без этого обойтись, а дать людям возможность пользоваться твоим мега-редактором с минимальным использованием мыши.
Использование мыши в той же IDEA:
- 60% случаев скролл (колесо или аналог)
- 30% случаев быстро выделить большой кусок текста (левая кнопка мыши)
- 10% случаев (хорошо, если 10%) — контекстное меню в дереве проекта
Зачем мне три кнопки, да еще на мыши, когда абсолютно все мне доступно с клавиатуры?
В мире есть и другие редакторы кроме emacs’а
When one makes a mistake in a search string, in emacs one uses
ctl-S
andctl-R
, it’s a pain to correct the mistake; the“Look”
command in acme allows you to just edit the tag and rerun the search.
В IDEA я нажимаю Cmd+F
, редактирую слово (если надо), нажимаю ввод и — магия! — происходит поиск. Да как это можно без мыши сделать-то?!
Вообще, в целом, человек явно как жил в 1989-м году, так там до сих пор и живет. Ему невдомек, что есть что-то, кроме vi и emacs’а. Ему невдомек, что большинство современных редакторов используют мышь там, где надо, и предлагают удобный доступ с клавиатуры для большинства операций.
Я думаю, что когда ему покажут, что в IDEA можно использовать Cmd+F
или там в любом современном редакторе текста можно выделять, например, куски текста через Cmd/Alt+Shift+стрелки
, его хватит апоплексический удар.
Тексты, на которые он ссылается, комментировтаь даже не стою, так как в первом же идет разговор о том, что много комбинаций не стандартизировано. 26 лет спустя много комбинаций стандартизировано.
Это я еще умолчу, что банальные требования по accessibility обязывают, чтобы вся функциональность системы и приложения была доступна через клавиатуру (если система или приложение хотят быть сертифицированы).