Emacs для начинающих




Vim


SpyLOG
   

Vim. Быть может он действительно - лучший?

[04.09.2001, Владимир Попов, popov_inm@yahoo.com]

 


     За годы общения с вычислительной техникой мне пришлось увидеть множество средств набора и редактирования текста. Консоли "МИРа" и "Саратова", терминалы ЕС, уже вполне "зрелые" редакторы DEC-овских VMS/RSX, "радуга" редакторов под MS DOS и так далее. Менялись платформы и операционные системы, средства вывода и ввода, неизменной оставалась потребность в создании программного обеспечения, а значит - в программах, с помощью которых это ПО создается. Есть, правда, еще IDE (интегрированные среды разработки), есть visual (визуальные) средства, но нет программирования без программ-редакторов. Текстовые процессоры, а тем более издательские системы - принципиально другие продукты, для написания программ явно избыточные с одной стороны и недостаточные с другой. Именно хорошего редактора не хватает в стандартном наборе современного пользователя MS Windows, коих большинство среди сидящих за IBM PC. Можно добавить: к сожалению, но факт от этого фактом быть не перестанет.

Будет неправильно сказать, что написание текстов программ - дело только профессиональных программистов. Даже если не принимать во внимание энтузиастов, то отмахнуться от того обстоятельства, что всякий, задумавший обзавестись своей страничкой в Интернет, попадает в положение программиста - просто невозможно. Число последних неминуемо "стремится" к числу пользователей Сети, имя которым - "легион". Поэкспериментировав какое-то время с MS Word, Adobe Photoshop и FrontPage, большинство таких программистов-"неофитов" приходит к выводу, что лучший инструмент написания html-кода - notepad. Вам не приходилось слышать такое утверждение? Оно не беспочвенно: notepad едва ли не единственный именно редактор среди наиболее распространенных программ для MS Windows. "Именно редактор" означает в данном случае инструмент для эффективного ввода и модификации текста, не отягощенный средствами создания лучшего дизайна, расширенными возможностями печати и тому подобное. Но если такую популярность получил notepad - редактор, уступающий по своим возможностям даже вспомогательным встроенным редакторам интегрированных сред разработки вроде Borland-овских Turbo и оболочек вроде Far, то, может, имеет смысл обратить внимание на редакторы, используемые профессиональными программистами?

В мире UNIX самым заметным в этом классе, безусловно, является vi (VIsual editor) и его современный "потомок" - vim (Vi IMprooved - улучшенный). Он чаще других вызывается по умолчанию, его интерфейс чаще упоминается рядом с определениями "совместимый" и "подобный" и так далее. Но, быть может, это - дань традиции? В большой степени - да. Утверждение о том, что этот редактор - лучший, нуждается в доказательстве. Некоторые доводы в пользу этого и приводятся ниже.

Прежде всего, условием необходимым, хотя и не достаточным, является функциональная полнота редактора: он должен уметь все, что только может потребоваться при работе с текстом. Термин "все" конкретизировать невозможно, но достаточно будет сказать, что vim имеет ограниченное только здравым смыслом количество буферов (фактически - открытых файлов) и окон (в данном случае название "окно" очень точно отражает суть происходящего: есть файл, а есть окно, через которое мы содержимое этого файла рассматриваем). Окно может занимать всю площадь экрана, а может - часть, причем любую, то есть экран может делиться как по горизонтали, так и по вертикали. Переключения - произвольны. Сказанное справедливо как для графического, так и для консольного режимов. Кроме стандартной для "взрослых" редакторов возможности создания макрокоманд (фиксированных последовательностей элементарных команд редактора), есть развитый язык программирования. Редактор имеет 5 режимов (modes):




    Содержание  Назад  Вперед