Стоит ли учиться использовать Emacs для веб-разработки - PullRequest
16 голосов
/ 08 декабря 2010

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

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

Ответы [ 6 ]

46 голосов
/ 08 декабря 2010

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

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

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

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

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

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

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

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

Всего наилучшего!

16 голосов
/ 08 декабря 2010

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

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

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

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

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

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

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

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

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

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

4 голосов
/ 08 декабря 2010

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

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

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

1 голос
/ 08 декабря 2010

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

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

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

0 голосов
/ 25 января 2011

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

0 голосов
/ 08 декабря 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...