Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Регистрация Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Блоги > e4xu

Всякие разные штуки сомнительной полезности сделанные в свободное от работы время.
Оценить эту запись

Элегантное оружие, для более... цивилизованного века

Запись от wvxvw размещена 03.06.2011 в 16:46
Обновил(-а) wvxvw 08.06.2011 в 00:15

Название: emacs-as3-mode.png
Просмотров: 2893

Размер: 24.5 Кб

Речь пойдет об emacs, универсальном текстовом редакторе, но не просто редакторе. Когда я совсем только познакомился с Lisp, одним из первых вопросов был: а в чем же писать? В то время я очень поверхностно знал vim и, чуть лучше, Eclipse. Те, кому довелось пользоваться Eclipse в Linux наверняка меня поймут. В Linux Eclipse - это совсем не та программа, которую вы знаете, если вы с ней работаете в Windows или Mac. Очень нестабильная, занимающая кучу ресурсов и ужасно медленная. Тем не менее, я начал именно с Eclipse. Отчасти мое плохое понимание того, что я делаю, отчасти баги редактора привели к тому, что после нескольких попыток я оставил это занятие. vim, поскольку он вообще проще, оказался более подходящей платформой. По крайней мере в нем хоть как-то можно было работать.

Примерно в самом же начале я попробовал установить emacs. Долго плевался и не мог понять, как же оно работает, и зачем все так сложно и ни на что не похоже. Недавно мне досталось задание: сопровождение части проекта написанной на Erlang. Для него опять же есть плагин для Eclipse, но будучи уже и так в плохих отношениях с этим редактором, я решил попробовать emacs еще раз. На этот раз у меня было много времени на чтение мануала, ну и я уже в общих чертах представлял, что искать, поэтому, через примерно месяц работы, когда я наконец-то мог не задумываясь выделить и скопировать нужный участок текста вдруг оказалось, что очень даже удобно! Дальше - хуже, как только вырабатывается привычка, что все, что в принципе может понадобится доступно через M-x что-мне-нужно, а если и не доступно сразу, то для этого кто-то уже написал плагин, а даже если еще не написал, то его можно написать.

Мне очень не нравился Subclipse плагин в Eclipse за непрозрачность и своеволие. В emacs я сейчас пользуюсь magit для Git и psvn для SVN. Один раз понадобился плагин для CVS, но он там уже был какой-то. Очень удобно! смотреть разницу, работать со стадиями коммита (в Git), интерактивный push / pull / log и т.п.
Прямо из редактора доступ к shell, но мало того, все опции редактора, такие, как поиск подстроки, например, доступны при работе с shell'ом. Мегаудобно, когда, например, нужно следить за логами какой-то программы, которые она в реальном времени выдает в stdout. Но это еще не все.
Для emacs есть несколько плагинов-интерфейсов к текстовым браузерам (на картинке вы видите w3m браузер). Конечно, просто рассматривать сайты они не пригодны, но чтение и навигация по документации, не выходя из редактора дорогого стоит.
Кроме этого - вменяемая работа с файловой системой. Это было одним из самых моих больших нареканий к Eclipse - то, что не возможно понять, откуда он берет файлы, и где реально находится то, что он показывает в проекте.

Мне в течение дня очень часто нужно сделать примерно следующее: сбилдить проект используя Ant, проапдейтить документацию на одном из серверов, залить бинарники проекта на другой сервер, отправить почту о том, что апдейт случился, скачать новые данные из GoogleDocs, отформатировать их, переложить в проект, просмотреть, что в это время делали несколько тестовых клиентов (опять же запущенных прямо в emacs и выводящих туда логи), проанализировать информацию. Я могу все это сделать вообще не переключаясь никуда из emacs.
Ах, да, забыл, man-pages или info их тоже можно читать прямо из emacs (иногда очень нужно )
Для Lisp в emacs есть куча всяких плюшек, и я только-только начинаю с ними разбираться, но SLIME вместе с emacs конечно не оставили шансов Eclipse / vim.
Erlang - emacs оказался очень удобным для разработки, т.как сразу же есть в одной части экрана консоль, в другой можно открыть несколько файлов, файловую систему, если нужно, справку...
Что касается ActionScript - к сожалению, есть только раскраска (и она немного устаревшая), но, принимая во внимание, что во Flash Builder раскраска тоже хромая, это мелочь. Нет подсказки или перехода к объявлению свойств, и, конечно, работать над большим проектом в emacs будет гораздо сложнее, чем в том же Flash Builder. Но для небольших проектов, или когда нужно сделать какую-то рутинную работу по форматированию, замене текста или поиску, emacs и только он Тем не менее, если вы оказались в Linux, и вы вынуждены работать с ActionScript, и вас не устраивает полулегальный Flash Builder или платная IDEA - это, пожалуй, самый лучший вариант.

Ссылки / полезная информация:
Где взять emacs - скорее всего он у вас уже есть, но, возможно, старая версия. emacs практически со 100% вероятностью есть у вашего провайдера в репозитори программ. Но, если нет, то:
emacs так же установлен на всех Макинтошах, все, что вам нужно, открыть терминал и запустить его, но есть специальные версии с улучшенным GUI, отрисовкой шрифтов и т.п. более известные как Aquamacs.
Если вы видите Linux только в амбразуру консоли, то существует версия для XTerm, так и называется.
emacs так же есть и для Windows, но я не уверен, на сколько он может понравится типичному пользователю, совсем другая идеология. Хотя, если вам ближе CLI, то, возможно
http://www.gnu.org/software/emacs/wi...ing-Emacs.html
Справка обо всем, что касается emacs: http://www.emacswiki.org/emacs/SiteMap
Плагины для emacs принято называть el-файлами (el - emacs lisp). Т.как в emacs ваш код (пользователя или разработчика плагинов) имеет точно такие же права, как и код самой программы, файлы настроек пишутся на том же языке, что и сама программа.
Из того, что я на сегодняшний день активно использую:* * *
А, вот, про почту забыл: http://www.emacswiki.org/emacs/GnusGmail тут собственно объясняется (нужно будет установить starttls пакет + обертка к нему уже должна быть в emacs-23, ну и можно почту рассылать прям из редактора
Всего комментариев 4

Комментарии

Старый 10.01.2012 01:13 incvizitor вне форума
incvizitor
 
Аватар для incvizitor
А с питоном Вы в ecmas работали? Если да - поделитесь пожалуйста впечатлениями.
Старый 10.01.2012 02:06 wvxvw вне форума
wvxvw
 
Аватар для wvxvw
Из современных языков у Питона, наверное, самая лучшая поддержка в Emacs. Есть вагон и маленькая тележка разных примочек, насадок, библиотек и энтузиастов Кроме того, Питон хорошо идеологически совместим с тем, как устроен редактор - легко держать все время открытм процесс, в котором выполняется язык, копировать туда чего-нибудь, отлаживать, тестировать и т.д.
Обычно Emacs уже приходит с одним модулем поддержки Питона, но их, если мне память не изменяет есть два разных. Если чесно, я бы начал с того, что есть по умолчанию, просто чтобы разобраться. Кроме того, Emacs во многом принципиально отличается от других современных редакторов, и к этому нужно привыкнуть. Мне кажется, что автодополнения в дефолтном Питоне нет... надо будет посмотреть... но, в принципе оно есть Кроме того, почти наверняка есть поиск тех, кто использует функцию / переменную, тех кто назначает значение переменной и т.п. Но нужно знать непосредсвенный питоновский модуль, чтобы точно сказать.
ЗЫ. Еще из хороших вещей - недавно набрел на http://www.emacswiki.org/emacs/EmacsCodeBrowser ECB - Emacs Code Browser - что делает - держит проводник по файловой системе, историю, список функций текущего отркрытого файла, список файлов в текущей директории в окнах, куда по C-x o автоматом не переходишь (на каком-то этапе у меня было отркыто больше 8 буфферов одновременно, и каждый раз считать C-u {сколько до нужного буффера?} C-x o просто очень доставало. Удобно интегрирован с компилятором, диред и т.п.
Вобщем, если бы для AS3 была автоподстановка, ничего другого в жизни и не надо было
Старый 10.01.2012 12:03 carrotoff вне форума
carrotoff
 
Аватар для carrotoff
Цитата:
Сообщение от wvxvw
Из современных языков у Питона, наверное, самая лучшая поддержка в Emacs. Есть вагон и маленькая тележка разных примочек, насадок, библиотек и энтузиастов Кроме того, Питон хорошо идеологически совместим с тем, как устроен редактор - легко держать все время открытм процесс, в котором выполняется язык, копировать туда чего-нибудь, отлаживать, тестировать и т.д.
А как же Pycharm?
Старый 10.01.2012 12:16 wvxvw вне форума
wvxvw
 
Аватар для wvxvw
Я имел в виду, что из всех языков, которые используют Emacs в качестве редактора, для Питона сделано больше чем для остальных (ну, может для Си / С++ больше, или если считать Лисп современным).
 

 


Часовой пояс GMT +4, время: 02:58.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.