…Хотя я не совсем понимаю, зачем редактор нужен вообще. Если писатель хороший, редактор вроде бы не требуется. Если плохой, то редактор его не спасет. По-моему, это совершенно ясно.
Сергей Довлатов. Наши
Космические корабли уже вовсю бороздят просторы Вселенной, а на Земле так и не появилось идеального текстового редактора. Впрочем, такового и быть не может. Если у текстовых процессоров есть концепция WYSIWYG, то у текстовых редакторов нет устоявшихся идеалов такого рода. Разные категории компьютерно грамотных граждан ожидают от него разного. Так, рядовому пользователю обычно требуется что-то слегка удобнее блокнота, а программисту не обойтись без массы интеллектуальных функций вроде подсветки синтаксиса, автоматического отступа и проч. Думаю, именно поэтому неудовлетворенные программисты пишут все новые и новые варианты редакторов текста и программ. И столь богоугодное дело не утрачивает актуальности. Вот и данная статья посвящена вечной теме — редакторам текста и кода, предназначенным для программистов, системных администраторов и домашних пользователей. Все рассмотренные в ней редакторы бесплатны, а большинство из них работают на разных компьютерах и операционных системах, в том числе и под управлением Windows.
GVim: Вездесущий и мобильный
Один из наиболее популярных в мире Linux текстовых редакторов теперь стал доступен и для платформы Windows. Работа с этим продуктом трудно дается начинающим, они ругают его за сложность освоения, а опытные пользователи восхваляют за широкие возможности и способность работать в разных средах. Он не подведет ни в Windows, ни в Linux, ни в любой другой системе, причем будет надежен в окне терминала даже при самом медлительном соединении.
Как сила, так и слабость Vim обусловлены необходимостью переключаться между режимами работы. Это досталось ему в наследство от тех смутных времен, когда терминалы прокручивали текст лишь в одном направлении. По умолчанию Vim находится в командном режиме, работа в котором, несмотря на развитую систему подсказок, ставит новичков в тупик. Командный режим предназначен для ввода управляющих клавиш и последовательностей.
Редактор gVim, как Unix, очень дружественный, вот только друзей выбирает придирчиво. Конечно, к нему нужно привыкнуть, зато он справится с любой ОС и выручит в сложной ситуации. Чтобы начать набор текста, нужно задать команду «I», а по окончании ввода нажать
Кстати, одна из наиболее популярных современных версий этой программы под названием gVim, пригодная и для Windows, написана с использованием библиотеки Gnome. Она содержит развитую систему меню, дублирующую все мудреные команды. На первых порах ее можно использовать, но тогда смысл работы в Vim несколько теряется. Учтите, знание команд Vim открывает путь к более эффективной работе.
В режиме редактирования Vim делает все, что требуется от продвинутого редактора кода: автоматические отступы, подсветку синтаксиса, поиск парных скобок и т. д. Командный режим позволяет включать и выключать как эти, так и многие другие функции.
Одна из самых сильных сторон Vim — поиск и замена с помощью регулярных выражений. Значит, допустимо задавать очень сложные условия. Скажем, вы можете одним махом заменить все вхождения слова Linux на Windows, а Windows — на Linux. Попробуйте сделать это в обычном текстовом редакторе!
Emacs: текстовый образ жизни
Здесь есть очень многое — текстовый редактор, почтовый клиент, календарь, IRC и многое-многое другое. Изначально Emacs — детище Ричарда Столлмана, главного идеолога движения OpenSource, но сейчас проект полностью перешел в руки сообщества разработчиков. В Emacs, имеющем огромное количество расширений, можно делать все. Самая популярная шутка насчет этого редактора похожа на правду: «Emacs — отличная операционная система, которой не хватает хорошего текстового редактора».
Это действительно так, и многие программисты используют Emacs как рабочую среду для выполнения повседневных задач. Но все же основной функцией Emacs остается работа с текстом, точнее с кодом программ. Пожалуй, данный редактор — лучший для программиста. Он содержит пункты меню для вызова компилятора и отладчика. Его можно настроить на работу с сервером CVS, и, конечно же, Emacs умеет сравнивать файлы и применять патчи.
К сожалению, версия Emacs, предназначенная для Windows, оказалась не без огрехов. На момент написания статьи редактор (в стандартной поставке версия 22.2) поддерживает только две кодировки кириллицы — iso8859-5 и koi8-r. В принципе если вы используете Emacs и только Emacs, то почему бы и нет? Но все же более полезно хранить файлы в родной для операционной системы кодировке. Чтобы заставить Emacs работать с файлами в кодировке windows-1251, нужно переписать файл http://open2000.front.ru/my.emacs и добавить его содержимое в конфигурационный файл .emacs. Он должен быть прямо в корневом каталоге диска «C».
Jed: портативный Emacs
Редактор Jed представляет собой урезанную версию Emacs. Его дистрибутив занимает всего 1,5 Мбайт. Он быстрее загружается и работает, причем поддерживает привычные для любителей Emacs методы работы.
В первую очередь Jed используют как простой редактор, но это целая платформа, очень хорошо приспосабливаемая под нужды пользователя. Так же, как и в Emacs, здесь есть свой макроязык (S-Lang), предназначенный для модификации и настройки Jed. Однако начинающему пользователю, особенно тому, кто работает в среде Windows, настройка данной программы может показаться сложной.
С отличным редактором Jed на моем компьютере приключилась скверная история. Не ждите, что сразу после его установки вы сможете набирать текст на русском языке. Мне пришлось перерыть весь сайт, чтобы найти решение по кодировкам. Во время написания статьи Jed был способен работать с кириллицей лишь в кодировке UTF8, причем пришлось создать системную переменную JED_UTF8=FORCE. Щелкните правой кнопкой мыши на значке «Мой компьютер», выберите пункт контекстного меню «Свойства», перейдите на вкладку «Дополнительно» и нажмите кнопку «Переменные среды». Когда вы создадите переменную, то все файлы будут по умолчанию сохраняться в кодировке UTF8.
Пока нет очевидного способа принудить Jed работать в кодировке Windows Cyrillic (windows-1251), но можно заставить его перекодировать файлы при чтении и записи, если помещать в начале файла следующую строку:
-*- coding: windows-1251 -*-
Разумеется, в начале и в конце этой строки допустимо добавлять любую последовательность символов, обозначающую комментарий в выбранном языке программирования. Кстати, такая строка помогает при работе и в других редакторах.
В общем, Jed все еще ждет своего звездного часа на платформе Windows, тем более что новых стабильных версий этого редактора в компьютерном мире не появлялось с июня 2006 г.
Jedit: программирование с кружкой кофе
Этот написанный на Java редактор представляет собой разумный компромисс между культовыми редакторами старой школы и современной средой разработки. Его создал наш соотечественник Слава Пестов и поддерживает большая группа энтузиастов. Jedit сочетает видимую простоту и удобство применения с гибкой и расширяемой архитектурой. Функциональность редактора может быть расширена посредством подключаемых модулей (plugins). Кроме того, как и любое современное приложение, Jedit позволяет следить за обновлениями, и, значит, всегда легко получить актуальную версию.
В стандартной поставке Jedit реализует большинство ожидаемых от редактора кода функций и даже чуть больше. Лично мне понравилась функция запоминания позиций. В любой момент можно нажать
Еще одна необычная функция — буфер удаленных фрагментов текста. Нажатием комбинации
Minimum Profit: бесприбыльная сделка
Знаете, что поражает при первом запуске Minimun Profit? Размер шрифта! Этот редактор по умолчанию использует 14-й кегль, не меньше. Во всем остальном он более чем ординарный. Minimum Profit поддерживает вкладки, подсветку синтаксиса, отступы и т. д., но с монстрами вроде Emacs его не сравнить.
Это небольшой проект, поддерживаемый одним человеком, и потому в функциональности его зияют неожиданные провалы. В Windows-версии, например, почему-то не работает функция переноса по словам (Word Wrap). Функции поиска и замены довольно развиты, допустимо обработать сразу несколько файлов, но регулярные выражения здесь не в ходу.
Дальше — хуже. Minimum Profit также требует выполнения ряда настроек для ввода русских символов. Ну нет! С меня хватило Emacs и Jed! В общем, Minimum Profit мне не слишком понравился, пусть дождется лучших времен.
SciTE: быть удобным — это наука
SciTE, как и большинство современных редакторов кода, обеспечивает автоматическое форматирование и подсветку синтаксиса. Причем сейчас поддерживается около полусотни языков программирования. Функциональность редактора может быть расширена с помощью макроязыка Lua (http://www.lua.org/).
В основе данной программы лежит интеллектуальный «движок» Scintilla, специально ориентированный на работу с кодом. Это позволяет применять современные методы работы, недоступные в других редакторах. Можно, например, сворачивать большие фрагменты кода или использовать функцию автодополнения при написании идентификаторов.
SciTE переведен на несколько языков, в том числе и на русский. Кстати, рекомендую использовать его специальную русскую сборку, доступную на сайте http://scite.ruteam.ru/.
Notepad++: наш ответ SciTE
Еще один редактор, применяющий технологию Scintilla, написали и поддерживают наши соотечественники. Notepad++ функционально напоминает SciTE, но его поставляют с дополнительными модулями.
Здесь есть свой менеджер файлов Light Explorer, интегрированный клиент FTP Folders и модуль для проверки правописания Spell Checker. Кроме того, можно загрузить такие хакерские инструменты, как шестнадцатеричный редактор (HEX Editor) и шифровальный модуль SecurePad.
Вне конкурса
Было бы несправедливо обойти вниманием текстовые редакторы, написанные не для программистов, а для рядовых пользователей. Большинство из них даже для работы с обычным текстом выбирают MS Word или OpenOffice Writer. Но зачем стрелять из пушки по воробьям, если есть замечательный инструмент, благо-получно развивающийся со времен «Лексикона»? Если кому-то нужно написать обширный README с таблицами и аккуратным форматированием, то вполне подойдет «Слово и дело».
Должен признаться также, что я оставил за рамками обзора редакторы кода, предназначенные для текстового режима работы. Такие, как Nano или The Hessling Editor (THE), возможно, и достойны внимания, но мне не удалось придумать им применения. Если вы работаете с одним из них в среде Windows, то напишите мне, каким образом.
* * *
Наиболее комфортными редакторами кода для нового поколения программистов, особенно для веб-разработчиков, можно назвать кросс-платформенный SciTE и предназначенный для среды Windows Notepad++ — на мой взгляд, лучший редактор кода для этой ОС. А вот универсальность Vim и могущество Emacs оценят те, кому приходится работать в разных операционных системах. Vim — лучшее средство для системного администратора, Emacs — для программиста. Кстати, разработчики Vim прилагают больше усилий для того, чтобы сделать свой редактор проще и доступнее пользователям Windows. Так, gVim полностью русифицирован, с кодировкой windows-1251 нормально работает сразу после установки, а последняя версия Vim for Windows 7.1 способна функционировать в более привычном для пользователей Windows режиме gVim Easy.
Хотите поговорить?
Вам известен хороший текстовый редактор, способный заткнуть за пояс обоих, Vim и Emacs, вместе взятых? Владеете секретом русификации Nano или THE в среде Windows? Мы ждем ваших откликов на сайте www.pcworld.ru.
gVim
Развитая Gnome-based версия культового текстового редактора из мира Unix теперь появилась и в Windows, да еще и с русской локализацией.Оценка: 5 из 5
Системные требования: 200-МГц ЦП, 16-Мбайт ОЗУ, 20 Мбайт на жестком диске.
Поддерживаемые ОС: Windows NT/2K/XP/Vista, Linux, Mac OS X и другие Unix.
Размер дистрибутива: 8,05 Мбайт (для Windows).
Условия распространения: Бесплатно, лицензии GPL.
САЙТ: http://www.vim.org
Emacs
Многофункциональный расширяемый текстовый редактор.Оценка: 4 из 5
Системные требования: ЦП от 200 МГц, 16-Мбайт ОЗУ, 135 Мбайт на жестком диске.
Поддерживаемые ОС: Windows NT/2K/XP/Vista, Linux, Mac OS X и другие Unix.
Размер дистрибутива: 36,7 Мбайт (для Windows).
Условия распространения: Бесплатно, лицензии GPL.
САЙТ: http://www.gnu.org/software/emacs/
Jed
Облегченная версия Emacs.Оценка: 3,5 из 5
Системные требования: ЦП от 200 МГц, 16-Мбайт ОЗУ, 6 Мбайт на жестком диске.
Поддерживаемые ОС: Windows NT/2K/XP/Vista, Linux, Mac OS X и другие Unix.
Размер дистрибутива: 1,5 Мбайт (для Windows).
Условия распространения: Бесплатно, лицензии GPL.
САЙТ: http://www.jedsoft.org/jed/; http://gretl.sourceforge.net
САЙТ Windows-версии: http://www.paneura.com/~dino/wjed.html
Jedit
Текстовый редактор для программистов на Java.Оценка: 4 из 5
Системные требования: ЦП от 200 МГц, 32-Мбайт ОЗУ, 135 Мбайт на жестком диске, Java Runtime Environment.
Поддерживаемые ОС: Windows NT/2K/XP/Vista, Linux, Mac OS X и другие Unix.
Размер дистрибутива: 2,2 Мбайт (для Windows).
Условия распространения: Бесплатно, лицензии GPL.
САЙТ: http://www.jedit.org/
Minimum Profit
Простой кросс-платформенный редактор кода.Оценка: 3 из 5
Системные требования: ЦП от 200 МГц, 32-Мбайт ОЗУ, 135 Мбайт на жестком диске.
Поддерживаемые ОС: Windows NT/2K/XP/Vista, Linux, Mac OS X и другие Unix.
Размер дистрибутива: 2,2 Мбайт (для Windows).
Условия распространения: Бесплатно, лицензии GPL.
САЙТ: http://triptico.com/software/mp.html
SciTE
Мощный и удобный редактор кода на ядре Scintilla.Оценка: 4 из 5
Системные требования: ЦП от 200 МГц, 16-Мбайт ОЗУ, 5 Мбайт на жестком диске.
Поддерживаемые ОС: Windows NT/2K/XP/Vista, Linux, Mac OS X и другие Unix.
Размер дистрибутива: 1,7 Мбайт (для Windows).
Условия распространения: бесплатно, лицензии GPL.
САЙТ: http://scintilla.sourceforge.net/SciTE.html
САЙТ РУССКОЙ версии: http://scite.ruteam.ru/
Notepad++
Многофункциональный редактор для Windows на ядре Scintilla.Оценка: 4 из 5
Системные требования: ЦП от 200 МГц, 16-Мбайт ОЗУ, 5 Мбайт на жестком диске.
Поддерживаемые ОС: Windows NT/2K/XP/Vista.
Размер дистрибутива: 2,2 Мбайт (для Windows).
Условия распространения: Бесплатно, лицензии GPL.
САЙТ: http://notepad-plus.sourceforge.net/ru/site.htm
«Слово и дело»
«Продвинутый» редактор для рядовых пользователей.Оценка: 4 из 5
Системные требования: ЦП от 200 МГц, 16-Мбайт ОЗУ, 3 Мбайт на жестком диске.
Поддерживаемые ОС: Windows NT/2K/XP/Vista.
Размер дистрибутива: 1,8 Мбайт (для Windows).
Условия распространения
Цена: 10 долл.
САЙТ: http://www.winwd.narod.ru
Nano
Текстовый редактор для текстового режима.Оценка: 2 из 5
Системные требования: 1-Мбайт ОЗУ, 1 Мбайт на жестком диске.
Поддерживаемые ОС: Windows NT/2K/XP/Vista, FreeDOS, Linux, Mac OS X и другие Unix.
Размер дистрибутива: 826 Кбайт (для Windows).
Условия распространения: Бесплатно, лицензии GPL.
САЙТ: http://www.nano-editor.org/
The Hessling Editor (THE)
Мощный текстовый редактор для текстового режима.
Оценка: 3 из 5
Системные требования: 1-Мбайт ОЗУ, 1 Мбайт на жестком диске.
Поддерживаемые ОС: Windows 9x/NT/2K/XP/Vista, DOS, OS/2, Linux, Maс OS X и другие Unix.
Размер дистрибутива: 1,2 Мбайт (для Windows).
Условия распространения: Бесплатно, лицензии GPL.
САЙТ: http://hessling-editor.sourceforge.net/