Как стать автором
Обновить

О сравнении Vim и сред разработки

В последнее время я часто встречаю на тематических ресурсах топики с обобщенным названием — «А что хорошего в Vim?» Внутри такой статьи обычно содержится недвусмысленный мессадж о том, что IDEA/Eclipse/Visual Studio значительно лучше. А именно, что в них лучше автодополнение, лучше рефакторинг и удобнее заниматься отладкой.

Когда читаешь такое — сложно отделаться от ощущения, что это какая-то шутка. Потому, что сравнивать текстовый редактор с IDE это как-то странно и я бы даже сказал нечестно.

Естественно в виме нет такого автодополнения, как в средах разработки, созданных специально для программирования на данном конкретном языке. Конечно там нет рефакторинга, откуда ему там взяться. Не говоря уже про дебаггер.

Всего вышеперечисленного, кстати нет и в Блокноте. Но его почему-то никто не спешит критиковать за то, что на нём сложно отлаживать многопоточные приложения. Нет этого и в улучшенном Блокноте, том который Notepad++. Нету в EmEditor, нигде нет блин.

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

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

Блокнот это кстати не так уж и плохо — он умеет редактировать текст и даже умеет в этом тексте что-то искать. С помощью мыши можно спозиционировать курсор в любое место этого текста и потом сразу начать печатать. Короче говоря Блокнот позволяет сразу приступить к работе, а не заморачиваться со всякой ерундой. Для искушённых пользователей есть возможность по сочетаниям Сtrl + стрелка прыгать по словам, а по клавишам Home и End поставить курсор в начало или конец строки соответственно. По Ctrl + C, Ctrl + V и Ctrl + X можно даже копировать, вставлять и вырезать куски текста.

Современные текстовые редакторы — плоть от плоти Блокнота и кровь от крови его. Сочетаний клавиш для перемещения по тексту правда стало больше, диалогов всяких прибавилось, но суть осталась той же.

А Vim наследник другой традиции. Традиции Vi. Традиции, которая сказала мыши нет задолго до того, как её вообще изобрели. Которая сказала то же самое стрелочным клавишам. И вообще всем клавишам справа от Enter.

Вопрос позиционирования курсора тут, соответственно, решён по другому. Для него выделен отдельный режим. И возможностей по его позиционированию гораздо больше. Можно переместиться в начало текущего слова, в его конец, можно перемещаться так по целым предложениям, не говоря уж о начале и конце строки. Можно одним махом поставить курсор в верхнюю часть экрана, можно в середину, а можно и в самый подвал. И всё это не снимая рук с home row.

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

Это как с современными автомобилями. Чтобы сдать на права надо полгода учиться, зато обученный водитель может водить автомобиль вообще не задумываясь о том, что ему надо жать на педали и переключать скорости. Кстати о скоростях — в последние годы всё больше машин выпускают с автоматической трансмиссией, чтобы облегчить как процесс обучения, так и само вождение транспортным средством. А когда по улицам всех стран мира будут ездить гугломобили, тогда про автошколу можно будет забыть как про страшный сон.

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

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

А представьте себе как было бы замечательно ввести в вузах обучение слепой печати как обязательный предмет. Длительностью в один семестр. Семинары, немного лекций для усвоения необходимой теории и в конце семестра зачёт в виде проверки количества знаков в минуту выдаваемого студентом. Печатать вслепую умели бы все, кроме освобождённых по медицинским показаниям! Какой восторг!

Но такого предмета в вузах нет и потому данный скилл встречается нечасто. А он чрезвычайно полезен. И овладевать им — занятие сравнительно недолгое и несложное. То же самое с Vi.

Vi лучше Блокнота. Vim лучше любого потомка Блокнота на выбор. И тот факт, что его пытаются сравнивать с IDE, лишний раз подтверждает этот вроде бы и без того очевидный факт.
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.