за что я невзлюбил текстовые редакторы с графическим интерфейсом

Mar 27, 2014 18:28

Тут у нас на работе опять вышел спор vim vs emacs на тему, почему в наш век высоких технологий многие до сих пор сидят в консольных редакторах, 80x40, без красивых шрифтов, сглаживаний и прочих плюшек.

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

Я попробовал, и понял, что уже не раз я пытался перейти на модные, современные, красивые редакторы, но ни разу не вышло.
Чуть ниже мои мысли и соображения, почему же я так сильно не хочу этого:

1. vim/emacs развивался десятилетия, в нем уже столько удобного и нужного, что остальным редакторам до этого состояния еще идти и идти. ([flame mode ready/])

2. для меня чрезвычайно удобной оболочкой является консоль (bash/zsh), в которой есть еще масса супер-утилит для поиска и обработки информации: grep, sed, awk, cut, head, tail, wc, bc... Я на лету генерю массу удобных и быстрых one-liners (хм, искал для ссылки, а нашел удобную вещь). И иметь рядом с ними и cвой повседневный редактор - очень удобно.
Например, вот сегодняшний пример.
Мне надо было пробежаться по всем файлам rebar.config во всех вложенных папках, найти те из них, в которых есть regexp "url.parser" (а может быть сложнее) и поправить во всех одну подстроку на другую.
Для меня это достаточно простое решение:
$ find deps -name "rebar.config" | xargs grep -l "url.parser" | xargs vim -o
Далее открывается редактор с несколькими окнами. В них делаются исправления (через запись и проигрывание макроса, или через полнотекстовую замену - как угодно).
Когда я представлю, как мне это сделать через графические интерфейсы - мне страшно становится, сколько это надо времени потратить.

3. vim/emacs доступен на любой удаленной машине, когда ты заходишь на нее ssh-ем. Починить что-нибудь на продакшн-машине быстренько и без головной боли - только через консольные редакторы

4. Это относится скорее к п1, но я отдельно хочу на этом остановиться. Вы когда-нибудь читали полностью помощь по перемещениям в vim? Это же бесконечное поле для самоулучшений. Я уже не представляю себе, как постоянно дергать рукой, чтобы стрелочками перебежать на две строки вниз. Это же ужас! А большинство редакторов требуют от нас именно этого.
Да, в том же sublime есть "vintage mode", но это далеко не все встроенные команды вима.

5. Все окошечные интерфейсы чересчур кичатся этим своим "окошечничеством", и меня это очень отвлекает от основного моего занятия. Скажем, я хочу заменить все вхождения строки "aaa" на "bbb". В vim достаточно выполнить команду ":%s/aaa/bbb/g"
(ну или .../gc - если нужно подтверждение для каждого изменения).
Во всех без исключения графических редакторах выскакивает какое-то окошко, куда надо что-то вписать, при этом вполне нормально, если окно чуть похудеет, или текст куда-нибудь съедет (или обрежется). В эти окошки надо что-то куда-то вписывать, нажимать какие-то галочки. Я не хочу все это видеть вообще, я хочу, чтобы он мне поменял только одно на другое!

6. Как вы открываете новый файл, который лежит на одну папку выше? в vim достаточно написать
":e ../new_file.erl"
и все, оно откроется. Никаких тебе окошек с ФС, никаких диалогов дополнительных. Я знаю, что я ищу, и я знаю, как мне это открыть.
Как открыть файл в split-window? Как переключиться к пред-пред-предпоследнему файлу? Как ...
Все это в графических редакторах делается через окошки, интерфейсы, никакой командной строки.
в vim - придется выучить несколько команд, да, зато потом 5-6 нажатий на клавиатуру (не отрывая рук), и все готово.

Попытаюсь просуммировать.
Получается, что все эти пункты выше - это в первую очередь удобство ради скорости работы, когда ты можешь сделать то, что ты хочешь за минимальное время.
Хе хе, получается, что я стал настолько ценить свое время, что даже готов отвернуться от красивых шрифтов и вылизанного интерфейса. А все потому, что на свои действия я потрачу на 3-5 секунд больше.

Цените свое время!

ps: Видать, приходит закат vim + emacs, если эти ранее непримиримые соперники выходят общим фронтом против нового врага

pps: Посмотрим, может я буду говорить совсем по-другому, если перейду на ретину.

sublime, programming, vim, мысли

Previous post Next post
Up