Skip to content

Instantly share code, notes, and snippets.

@erthalion
Last active December 20, 2017 10:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save erthalion/337744222e93e22174a64cf2689de94b to your computer and use it in GitHub Desktop.
Save erthalion/337744222e93e22174a64cf2689de94b to your computer and use it in GitHub Desktop.

https://tonsky.livejournal.com/314598.html

Мнение такое, что он, крутой для своего времени, сегодня просто морально устарел.

Варианта два. Если мы говорим о датах, то Vim начинает историю с 1991. В тот же год появился Python. Оба активно развиваются до сих пор. Врядли кто-то из них устарел. Если же мы говорим о том, что концепция устарела - это ваше персональное мнение.

Для начала давайте оспорим тезис, что набор текста — редкая операция. По моим оценкам, набор и трансформации делятся скорее как 50%/50%

По моим - нет. Полагаю, я не одинок в том, что я читаю код, перехожу с функции на функцию, после чего вношу блок изменений, и возвращаюсь к чтению. Кто прав?

Так вот, не хочу никого расстраивать, но система команд получилась такой не из-за какого-то великого инсайта, а просто потому, что у автора был тормозной модем и он «хотел печатать быстрее, чем обновлялся экран»

Огромное количество софта было разработано в 90-е с дизайнами под совершенно другие условия, нежели мы имеем сейчас. Базы данных создавались для медленных шпиндельных дисков с микроскопическим количеством памяти, редакторы - под 80 колонок в терминале. Это не мешает им до сих пор развиваться, активно использоваться и успешно решать необходимые задачи.

В мире Vim выделить до кавычки и выделить до кавычки минус один символ — две разных задачи, в современном мире — одна, решающаяся одним инструментом — двиганием курсора.

Это крайне зависит от того, как вы думаете, когда работаете с кодом.

Мгновенная обратная связь не менее важна. Увидеть синий прямоугольник выделения перед тем, как ввести операцию — очень важно для человека, сокращает количество ошибок, дает возможность их корректировки, повышает уверенность. В Vim тебе не остается ничего, кроме как надеяться, что та шестисимвольная комбинация команд, которую ты ввел, сделает ровно то, что ты хотел.

Visual mode вполне справляется с задачей мгновенной связи.

Но зато в Vim удобные «шорткаты» (команды, окей) и их много! Да, но в современных редакторах их не то чтобы сильно меньше.

По моим ощущениям во многих "современных редакторах" они либо менее настраиваемые/гибкие, но могу ошибаться.

Ну и самая большая цена, которую вы платите сегодня, пожалуй, это то что подход Vim не совместим ни с чем вообще.

Vim mode есть почти везде, даже на тостере.

У него, например, два буфера обмена ¯_(ツ)_/¯ и оба внутренние. Ни один из них не попадет в ваш системный, т.е. скопировать текст внутри Vim и вставить его еще куда-то не получится.

Да, два буфера это странно. Про невозможность скопировать - неправда.

он его будет набирать посимвольно, что медленно, смешно и хреначит все отступы к чертям. Да, только из-за этого есть специальный режим «paste mode» и да, его-то как раз легко забыть включить/выключить.

Для этого есть шорткаты.

В итоге я хочу подчеркнуть, что все-таки в тесте высказано именно "мнение", как верно сказано в начале, а не "факты".

@erthalion
Copy link
Author

Навигация - это тоже работа с текстом, почему вы ее исключаете из рассмотения?

Потому что она везде одинаковая — выбрать файл, поискать, полистать вверх-вниз. Vim тут ничего не изобрел особенного, другие не отстали, поэтому это за скобками

Но вопрос же в "Для начала давайте оспорим тезис, что набор текста — редкая операция." - на мой взгляд это надо рассматривать в совокупности навигация/модификация/создание нового кода, а не только модификация/создание нового кода.

Есть ощущение, что вы как-то плавно перешли к спору «Vim лучший редактор по совокупности характеристик».

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

Это не конструктивные аргументы — это указание на дыры в ваших аргументах.

Первый пример - утверждение о том, что vim устарел, т.к. создавался для медленного интернета. Мой контраргумент - много чего создавалось для условий, сильно отличных от современных, и это не повлияло на их полезность. Где здесь дыры?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment