Стоит ли учиться использовать Emacs для веб-разработки?

Я никогда раньше не использовал Emacs, и в первый раз, когда я попробовал, я был настолько оттолкнут его интерфейсом, который казался не очень удобным для пользователя. Но с тех пор я много слышал об этом, повышая производительность, и это возродило мой интерес. Но верно ли это и для веб-разработки? для подобных php, python, javascript/jquery и т.д. Насколько хороши функции завершения кода?

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

Ответы

Ответ 1

Я немного религиозный пользователь, когда дело доходит до Emacs, поэтому, пожалуйста, возьмите это с несколькими мешками соли. Я попытаюсь изложить свои причины для использования Emacs (в том числе для веб-разработки).

Основная сила Emacs - это расширяемость и тот факт, что в ней ядро, это интерпретатор lisp с кучей примитивных функций, полезных для редактирования и отображения текста. Это делает его "программируемым". Вы можете настроить его почти бесконечно.

Это побудило несколько библиотек, которые выполняют общие задачи, такие как завершение кода, просмотр исходного кода, интеграция тестовых жгутов, интеграция инструментов рефакторинга, интеграция управления версиями и т.д. Если разработчик, работающий над проектом, является пользователем Emacs, он нередко видеть, как она добавляет что-то в свой проект, чтобы заставить его хорошо работать с Emacs. Расширяемость также стимулировала ряд менее обычных библиотек, таких как почтовые клиенты, веб-браузеры, клиенты IRC, музыкальные плееры и т.д.

Многие пользователи Emacs сохраняют большую часть своей работы (за исключением, возможно, их браузеров) внутри Emacs. Это позволяет им использовать те же самые нажатия клавиш и методы высокого уровня для всего, что они используют. Я сам использую его для ежедневного кодирования, для своей электронной почты, как мой PIM и множество других вещей. Я могу, например, при работе над своим кодом просто написать что-то вроде "TBD" в качестве комментария где-нибудь и позволить части PIM запомнить это как элемент TODO в следующий раз, когда я открою редактор. Я также могу, например, при кодировании просто переключиться на другой "буфер" (термин emacs для Windows) с клиентом IRC и задать вопросы, которые могут возникнуть у других людей, которые находятся в сети. Это делает меня довольно продуктивным и быстрым. Кроме того, нажатия клавиш практически одинаковы для большого количества программ UNIX в командной строке (например, моя оболочка и т.д.), Что помогает мне быстрее выполнять мою работу.

Другим преимуществом является то, что Emacs устарел. Люди переутомили и полировали его бесконечно и все еще делают. Результатом является набор команд для редактирования, которые я даже не знал, что мне нужно. Такие вещи, как "заглавное слово", чтобы первая буква слова "мой курсор" находилась на верхнем регистре, тривиальна, но пока вы редактируете, это очень полезно.

Будучи расширяемым, Emacs имеет "режимы". Это среда для определенных языков программирования. Правила отступов, синтаксисы, завершение и т.д. Будут меняться в зависимости от режима, в котором вы находитесь. Существуют режимы почти для всех современных языков, и они оказывают существенную помощь при редактировании. У вас есть вещи для javascript, php и т.д., Которые помогут вам при кодировании на этих языках. Существуют также веб-специфические инструменты (например, Emacs может разговаривать с MozRepl, чтобы вы могли обновить браузер и все, что нужно при редактировании). Люди пишут режимы все время за то, что хотят, и это не слишком сложно. Недавно я начал использовать jekyll для поддержания своего блога и написал a mode, чтобы облегчить мою жизнь). Модификации добавляют функциональность, но на базовом уровне одинаковы (например, одни и те же ключи для удаления символа, продвижения вперед по предложению и т.д.). Мне это нравится, потому что мне не нужно изучать новый набор ключей и привыкнуть к ним просто для кодирования на другом языке.

Как говорится, Emacs - это инструмент для другого разработчика. Большинство хардкорных пользователей Emacs (и их немало известных) не используют многие функции типа IDE. Обычно им нравится просто окно (без панелей инструментов, баров меню и все такое), чтобы недвижимость для кода была максимальной. Если вы привыкли полагаться на многофункциональную среду IDE для выполнения своей работы, Emacs может оказаться не лучшим инструментом для вас (я думаю, это то, что Тэйл имел в виду в своем комментарии). Если, однако, вы хотите, чтобы редактор программистов оставался в стороне и позволял вам выполнять свою работу с минимальными хлопотами, это то, что вам обязательно нужно попробовать.

Хорошо, ресурсы. Первое, что нужно сделать, - запустить Emacs и ввести Ctrl-h t. Это дает вам учебник "руки", который вы можете использовать, чтобы изучить основы редактора. Когда вы закончите с этим, вы можете прочитать точное руководство в http://www.gnu.org/software/emacs/manual/html_node/emacs/index.html. После этого вы можете прочитать Emacs lisp учебник и начать распространять и настраивать Emacs в соответствии с вашими пожеланиями. EmacsWiki - отличное место для советов, трюков и документов, а также Канал Emacs IRC.

Все самое лучшее!

Ответ 2

Если вам не нравится интерфейс, это не стоит.

Вопрос не в том, стоит ли изучать Emacs, вы хотите изучить интерфейс?

Если да, то это того стоит. Если вы этого не сделаете, то это не так.

Более конкретно, я отвечу на ваш широкий вопрос с помощью ряда ссылок, которые вы могли бы получить из Emacs wiki:

Да, людям нравится использовать Emacs для веб-разработки. Вышеизложенное - это всего лишь выборка режимов, которые люди ежедневно пишут и используют.

Это для вас? Незнайка.

Это лучше, чем редактор X? или IDE Y? Да для некоторых вещей, нет для других.

Функции завершения кода великолепны! (если только это не так). Это зависит от того, что вы хотите, о каких языках вы говорите и т.д. и т.д. и т.д.

Люди используют vi, люди используют Emacs, люди используют Блокнот, люди используют всевозможные текстовые редакторы.

Примечание: задание неопределенных вопросов приводит к неопределенным ответам.

Ответ 3

Конечный режим веб-программирования, возможно, nxhtml mode. Вы можете начать с этого взгляда. Вы также можете проверить некоторые богатые ранее существующие конфигурации Emacs, такие как Emacs Starter Kit или Emacs Dev Kit.

Режимы PHP и Python в Emacs не особо хороши, но довольно приличные. Режим JavaScript, безусловно, замечательный. Пакеты, такие как режим автозаполнения обеспечивают хорошее завершение почти везде.

Я, конечно, предвзятый, но я думаю, что если вы потратите некоторое время на изучение Emacs, вы узнаете, что это повысит вашу производительность.

Ответ 4

Как некоторые другие плакаты не ускользнули, все зависит от того, что вы хотите от него. Если вы хотите чувствовать себя так же хорошо в настройках, вы могли бы работать в emacs, как и с фактическим кодом, который вы пишете, то конечно.. Emacs отлично;)

(Прежде чем кто-то скачет мне горло, emacs на сегодняшний день является моим любимым редактором для редактирования nix C/С++, но это не то, что ищет OP здесь;))

В моем крестовом походе найти наиболее продуктивный редактор для PHP, Python, Javascript и т.д., мой любимый до сих пор был Komodo Edit. В нем реализовано не только завершение кода, но и переход к определению (а также многие другие функции, которые должны иметь полнофункциональные IDE), и на самом деле это самое близкое к Visual Studio для разработки сценариев ОС, которые я видел. О, и это бесплатно.

Ответ 5

Честно говоря, брекеты против гнилых фруктов/овощей, которые, безусловно, будут брошены по пути. Я недавно стал поклонником среды IDE NetBeans для веб-разработки. Особенно, когда речь заходит о PHP.

Но чтобы ответить на ваш вопрос: это стоит того, если это того стоит. Извините, неопределенные вопросы дают неопределенные ответы.;)

Ответ 6

Если вы используете существующую среду разработки, которая может выполнять веб-разработку, чем использование среды IDE. Если Emacs не стоит изучать в качестве текстового редактора для редактирования текста или для программирования на языке, который не имеет хорошей среды IDE.