Я немного религиозный пользователь, когда дело доходит до 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 канал .
Всего наилучшего!