LXF70:Сравнение
Ged (обсуждение | вклад) м (орфография) |
м (→Vim) |
||
Строка 120: | Строка 120: | ||
'''Вердикт Linux Format''' | '''Вердикт Linux Format''' | ||
+ | |||
Очень мощная, но сложная программа, включаемая в большинство дистрибутивов. | Очень мощная, но сложная программа, включаемая в большинство дистрибутивов. | ||
* Рейтинг - 9/10 | * Рейтинг - 9/10 |
Версия 15:28, 10 марта 2008
|
|
|
Содержание |
Том Вилкинсон (Tom Wilkinson) решил проверить широко распространённую в LXF теорию о том, что в наше время невозможно найти приличный текстовый редактор.
Если Вы используете Linux, то в какой-то момент вам обязательно потребуется текстовый редактор, для написания кода или же просто для правки конфигурационных файлов. Таких редакторов бесчисленное множество, причём все ведут себя по-разному, имеют свои слабые и сильные стороны.
В этом месяце мы протестировали 8 самых популярных редакторов. Многие из них предлагают на выбор как текстовый, так и графический интерфейсы пользователя и предоставляют разнообразные функции, самыми ценными из которых являются проверка орфографии, подсветка синтаксиса и автоматические отступы.
Текстовые редакторы отличаются от текстовых процессоров своим предназначением, хотя их функциональность и инструменты часто пересекаются. Текстовые процессоры нужны, в первую очередь, для создания и форматирования текстовых документов. Редакторы же должны суметь прочитать и изменить произвольный текстовый файл, поэтому их функции сосредоточены вокруг манипуляций с текстом. Форматирование и окончательный вывод остаются при этом на совести web-браузеров, компилятора LateX или других приложений, преобразующих сырой текст в законченный документ.
Многие текстовые редакторы предоставляют функции, особенно полезные для программистов. Подсветка синтаксиса и автоматические отступы – это, пожалуй, самые важные из инструментов такого рода. Они позволяют с одного взгляда понять, что введённый код в общих чертах корректен, что все блоки правильно вложены друг в друга и не содержат очевидных ошибок.
Подсветка синтаксиса ярко выделяет ключевые слова, а также показывает различными цветами имена переменных и данные. Кроме того, цветами могут выделяться переменные разных типов или вызовы функций. автоматические отступы помогают увидеть каждый блок кода по отдельности, вложенные блоки отодвигаются дальше, что существенно упрощает чтение. Конечно, это может быть полезно только в том случае, если вы согласны с тем, каким способом расставляет отступы программа, так как стилей форматирования кода существует столько же, сколько и программистов. Хороший редактор позволит вам выбрать ваш собственный стиль.
Еще одно важное обстоятельство – способность редактора работать в текстовой консоли. В случае возникновения серьёзных проблем с системой графическая оболочка может оказаться недоступна. В этой ситуации редактор, способный запускаться в текстовом режиме, будет просто необходим.
В конце мы посмотрим, насколько трудно изучить тот или иной редактор. Самые простые из них легки в освоении, но потом ими будет тяжело пользоваться, кроме как для самых простых вещей. Более сложные редакторы могут запросто выполнять самые нетривиальные преобразования, но при этом отпугивать новичков сложностью и неинтуитивностью интерфейса. Если вы не можете воспользоваться редактором на практике, то не имеет значения, насколько он хорош в теории.
Участники сравнения
- CoolEdit
- gedit
- GNU Emacs
- Kate
- nano
- NEdit
- Minimum Profit
- Vim
nano
Редактор командной строки, включенный во многие дистрибутивы
- Версия: 1.2.4
- Web: www.nano-editor.org
- Цена: бесплатно, по лицензии GPL
Текстовый редактор nano, выпущенный Фондом свободного программного обеспечения, позиционируется как свободная замена популярному редактору Pico, разработанному в университете Вашингтона. Его интерфейс будет знаком любому работавшему с текстовым клиентом электронной почты Pine, который основан на Pico. Хотя исходный код Pico общедоступен, он не считается open-source редактором, поскольку любой, кто захочет разработать на основе Pico свою программу, должен сначала спросить разрешения у университета Вашингтона. Конечно, это менее свободная лицензия, чем GPL, поэтому под влиянием разработчиков таких дистрибутивов, как Debian, и был создан nano.
Nano – один из самых простых текстовых редакторов. у него нет поддержки таких полезных для программистов функций, как поиск парных скобок или подсветка синтаксиса. Но, будучи редактором простого текста, он прекрасно справляется со своей задачей. Основные клавиатурные команды, выполняющие базовые действия, перечислены в нижней части экрана, и этого более чем достаточно для редактирования конфигурационного файла без путаницы в режимах или в миллионах команд меню. Эта программа предназначена для конкретной аудитории и точно соответствует ей. Её пользователи – новички, которые еще не готовы к схватке с Vi или emacs, но при этом хотят редактировать файлы в текстовой консоли.
Несмотря на то, что в nano нет большинства функций других текстовых редакторов, он всё же содержит проверку орфографии. К сожалению, добавить своё слово в словарь невозможно. Но упрощенная проверка орфографии всё же лучше, чем ничего.
Основные функции программы доступны по нажатию клавиши команды при удерживаемой кнопке <Ctrl>. Это самый логичный способ вызова команд в редакторе текстового режима, хотя число доступных команд при этом ограничено. Однако, мы думаем, что это не станет большой проблемой, поскольку к тому времени, как пользователям понадобится что-то, выходящее за рамки такой схемы, они, скорее всего, перейдут на какое-нибудь более мощное приложение.
В редакторе nano нас сильно раздражала только одна вещь: по умолчанию символ перевода строки вставляется в файл автоматически. Это не самое удобное поведение: представьте себе, что вы написали длинную строку кода, которая отказывается компилироваться из-за того, что редактор добавил символ конца строки в неудачном месте. На поиск причины такой ошибки может уйти очень много времени. К счастью, для изменения такого поведения программы достаточно указать соответствующую опцию командной строки.
Вердикт Linux Format
Простой, но малофункциональный nano не слишком привлекателен.
- Рейтинг - 5/10
Kate
Редактор с возможностью управления проектами
- Версия: 3.2
- Web: kate.kde.org
- Цена: Бесплатно, по лицензии GPL
Kate – это один из двух редакторов, интегрированных в рабочий стол KDE. Второй, KWrite, содержит минимальный набор функций работы с текстом. Kate – гораздо более богатый инструмент, предназначенный скорее для программистов, чем для обычных пользователей, а поддержка подключаемых модулей позволяет расширять его функциональность до бесконечности.
Являясь частью KDE, Kate может работать только в графическом режиме. Это позволяет разработчикам сосредоточиться на его преимуществах и получить цельный редактор с набором функций, способным удовлетворить самого взыскательного пользователя, но при этом достаточно доступный, чтобы не пугать новичков.
Как и большинство текстовых редакторов для программистов, Kate позволяет использовать регулярные выражения при поиске, а также предоставляет стандартную пару функций – подсветку синтаксиса и автоматические отступы. Из нестандартных возможностей нужно упомянуть свёртку кода. Она позволяет спрятать код функции в программе, оставив на виду только её первую строку. При необходимости можно снова отобразить всю функцию целиком. Это новое и очень полезное при кодировании достижение, так как оно позволяет программисту наблюдать всю картину, но при этом детально рассматривать любую подробность, привлекшую внимание.
Кроме инструментов для разработчиков, Kate содержит еще и функции управления проектами. Можно создать проект как набор файлов, и его открытие приведёт к открытию каждого из входящих в него фалов в отдельной вкладке. Это позволяет редактировать множество взаимосвязанных файлов одновременно, например заголовочный файл, файл с исходным кодом на C и Makefile. Если вы работаете с более крупными проектами, например с целыми приложениями, эта возможность Kate будет для вас особенно полезна.
В любом месте файла Kate может создать закладку, что позволит впоследствии мгновенно вернуться к нему через главное меню. Также очень полезна возможность открыть в новой закладке вместо одного из текстовых файлов окно терминала. Это самый быстрый способ переключиться в командную оболочку (например, для компилирования программы) из всех, которые можно себе представить.
Еще одной новаторской возможностью Kate является выделение любого текста и осуществления поиска по этому слову с помощью Google. Результаты поиска отображаются в Konqueror, web-браузере входящем в состав KDE. Это особенно удобно при работе с каким-нибудь новым API. Выделив функцию, вы получаете справочную информацию, обсуждения и подсказки прямо на кончиках своих пальцев.
Вердикт Linux Format
Функции управления проектами закладывают для Kate серьезный фундамент. В целом, это полезная программа, но она не умеет работать в текстовой консоли.
- Рейтинг - 7/10
NEdit
Основанный на Motif редактор, имеющий множество плюсов
- Версия: 5
- Web: www.nedit.org
- Цена: Бесплатно, по лицензии GPL
Cозданный в 1991 году, NEdit является одним из старейших текстовых редакторов, рассматриваемых в этой статье. Он на несколько лет опередил эру Gnome и KDE и поэтому основан на межплатформенной библиотеке пользовательского интерфейса Motif. До недавнего времени Motif был продуктом с закрытым кодом, что вызывало проблемы с её получением и сборкой (его открытый аналог, Lesstif был доступен, но далеко не всегда компилировался успешно). Выпуск Open Motif в 2000 году сделал получение и сборку NEdit гораздо более простым делом.
Несмотря на эти проблемы, разработчики NEdit продолжали добавлять новшества в свой редактор и сделали его вполне современным. Последние версии включают такие возможности, как вкладки (позволяющие открыть сразу несколько файлов), и поддержку UTF, обеспечивающую ввод в документ символов любого языка.
NEdit – редактор голубых кровей. Он потрясающе прост в использовании для новичков и при этом имеет огромное количество инструментов для опытных пользователей. Сюда входят подсветка синтаксиса более чем для 30 языков программирования, автоматические отступы и гибкие настройки сворачивания слишком длинных строк. Еще одной удобной функцией является отображение номеров строк, которое позволяет сразу же видеть, где в файле расставлены символы перевода строки, а также сильно помогает при отладке.
Этот редактор может использовать для обработки текста любую команду оболочки, причём сохранять для этого файл вовсе не обязательно. Некоторые пункты меню применяют этот метод для проверки орфографии (с помощью ispell), подсчёта слов (wc), и даже для сборки программы (make), а это значит что ваш код может быть откомпилирован и запущен прямо из текстового редактора, что очень удобно при работе с компилируемыми языками программирования вроде C или Java.
Поиск в NEdit, как и можно ожидать от редактора предназначенного для всех, поддерживает регулярные выражения, но не навязывает их. Вероятно, это самый лучший компромисс между потребностями новых и опытных пользователей. Также нам очень понравилась установка закладок. Она позволяет запомнить позицию в текстовом файле, чтобы потом вернуться к ней с помощью пары нажатий клавиш. Это бесценно, если вы часто переключаетесь между функциями их объявлениями в начале файла.
Несмотря на свой довольно старомодный вид, NEdit делает работу, которую должен делать, и делает её хорошо. К сожалению, очень много людей прошли мимо этого редактора только потому, что он основан на библиотеке, которая уже не популярна.
Вердикт Linux Format
Прекрасный редактор, сочетающий серьёзные возможности с простотой использования. Сложности при сборке являются его слабостью.
- Рейтинг - 8/10
Vim
Разнорежимный, но мощный и почти вездесущий
- версия: 3
- Web: www.vim.org
- Цена: Бесплатно, по лицензии Vim License
Vim относится к числу программ, которые ругают больше всех. Но при этом он же входит в число самых популярных приложений.
Он имеет репутацию редактора, который совершенно невозможно освоить новичку и, пожалуй, он её заслуживает. Дело в том, что Vim использует разные режимы работы, что является возвращением к самым первым текстовым редакторам, работающим на древних текстовых терминалах, которые могли прокручивать текст только в одном направлении. интерфейс Vim основан на программе vi (собственно, имя этого редактора обозначает «vi improved», то есть «улучшенный vi»), а тот в свою очередь был основан на редакторе ed. Если вы попробовали Vim и нашли его слишком сложным, мы советуем вам взять ed и попробовать поработать с ним. Он всё еще входит в большинство дистрибутивов и ясно показывает, как обстояли дела с вводом текста 20 лет назад.
Два режима работы Vim часто в шутку различают так: «пищит» или «не пищит». Второй называется режимом вставки, и используется для того, чтобы вставить текст в файл. Он довольно прост и поддерживает всю функциональность, которую можно было бы ожидать: автоматические отступы, подсветку синтаксиса, поиск парных скобок и так далее. Эти, а также целый ряд других функций, могут быть включены или отключены в режиме, «который пищит» – командном режиме.
Командный режим часто ставит новичков в тупик. Совершенно непонятно, что именно надо набрать, чтобы получить желаемый результат, несмотря на прекрасную систему справки.
Нажатие <I> (большая буква i) позволяет вводить текст, а клавиша <esc> возвращает редактор в командный режим, позволяющий делать действительно замечательные вещи. Диапазон команд простирается от самых простых (например :q приводит к выходу из приложения) до очень сложных – например вы можете включить эмуляцию поведения vi, включить или выключить автоматические отступы или подсветку синтаксиса.
Поиск и замена текста в Vim выполняются при помощи регулярных выражений, что дает куда большую точность и вариативность, чем обычный поиск. Например, Vim может заменить все вхождения слова ‘Linux’, которому предшествует слово ‘Format’ с аббревиатурой ‘PC’. Возможны и замены с более сложными условиями - лишь бы нужный фрагмент мог быть в принципе описан регулярными выражениями. Другие редакторы вынуждают обращаться к внешним программам, вроде perl или sed.
Вердикт Linux Format
Очень мощная, но сложная программа, включаемая в большинство дистрибутивов.
- Рейтинг - 9/10
GNU Emacs
Редактор с расширениями, написанными на Lisp
CoolEdit
Редактор с отладчиком и расширениями на Python
Minimum Profit
Серьезный редактор с несерьезным именем
gedit
Текстовый редактор Gnome оставляет желать лучшего...