Должен ли я учиться использовать Emacs?

Я использую IntelliJ IDEA в качестве редактора кода, поэтому это не значит, чтобы это заменить. Я использую vi или vim для простого редактирования текста на наших серверах и стандартных команд unix для поиска файлов, получения каталогов и т.д.

Коллеги клянутся emacs, но мне интересно, стоит ли мне учиться этому времени. Насколько я могу быть более продуктивным?

EDIT: было указано, что этот вопрос был задан до

Ответы

Ответ 1

Я использовал emacs более двадцати лет. Насколько это возможно, я стараюсь использовать его для всех моих потребностей в наборе текста, в том числе, как упоминал Fu86, чтение электронной почты, новостей и т.д., А также заметки, списки дел, написание кода, запуск компиляции и т.д. Так как emacs гораздо старше, чем расширяемый vim (в отличие от относительно не расширяемого vi), он имеет гораздо больший набор расширений, охватывающих практически любую цель, которую вы можете себе представить. Тем не менее, справедливо сказать, что серьезное использование emacs можно рассматривать как выбор образа жизни, в котором требуется немало усилий и времени, чтобы свободно говорить об этом инструменте.

Мой реальный ответ заключается в том, что в отношении редакторов (и любой другой категории инструментов) вы должны найти тот, который является мощным и гибким, а затем найдите время, чтобы стать квалифицированным пользователем этого инструмента. Ваш инструмент выбора может быть либо vim, либо emacs, или, возможно, что-то еще, но в любом случае, найдите время, чтобы хорошо изучить его. Лично я решил освоить emacs, и я никогда не был разочарован, когда хотел, чтобы он справлялся с какой-то новой ситуацией для меня.

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

Ответ 2

1) Должны ли вы научиться использовать Emacs? Вероятно. 2) Если вы попытаетесь переключить все свои разработки на Emacs? Нет. Я буду обсуждать каждый из этих вопросов в последовательности.

1) В этом вопросе Emacs можно заменить Vim или любым другим кросс-платформенным редактором. Я хочу подчеркнуть, что это кросс-платформенный. Это, для меня, является основным преимуществом свободного общения с Emacs (или Vim). Независимо от того, на каком компьютере я нахожусь, у него либо уже есть Emacs, чтобы я сразу перешел в какую-либо разработку, либо я смогу легко загрузить его через несколько минут. В моих университетских лабораториях программирования, вместо того, чтобы пытаться использовать любые IDE, с которыми я был на компьютере, я только что открыл терминал и использовал Emacs. Поскольку я уже довольно свободно разговаривал с Emacs (хотя это ни в коем случае не был экспертом), я смог отлично справиться с работой, не сражаясь с другой средой.

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

Наконец, использование IDE для очень маленьких проектов (и особенно простых файловых программ) кажется неуклюжим и контрпродуктивным; хорошо иметь простой текстовый редактор для таких задач (хотя я уверен, что некоторые будут спорить о том, насколько просто Emacs действительно). Но это не обязательно аргумент для Emacs; например, в OS X, TextMate является удивительным редактором для этих задач.

2) Emacs мощный и удивительно расширяемый, но по моему опыту он не заменяет IDE. Когда я запускаю новый проект в свое свободное время, одна из первых вещей, о которых я думаю, это хорошая ли IDE для моего языка и технологий по выбору. Например, на OS X я обычно смотрю сначала, чтобы увидеть, есть ли хороший способ использовать Xcode для моего проекта. В Windows я посмотрю, смогу ли я использовать Visual Studio. Если это не удается, я рассмотрю IDE, такие как Eclipse и NetBeans. Только после этого я считаю серьезную разработку с помощью текстового редактора, такого как Emacs.

Надеюсь, это поможет!

Ответ 3

Выбор редактора - это то, что каждый программист должен делать хотя бы один раз, но часто неоднократно в течение своей карьеры. Я был пользователем vi + Eclipse до четырех лет назад, когда я сделал переход от того, чтобы быть хобби-кодером, чтобы быть профессионалом и более или менее одновременно использовать emacs.

Что я нашел, так это то, что emacs вознаграждал каждый бит, который я потратил, изучая его с повышенной способностью. Я по-прежнему не могу рекомендовать его для написания Java. Eclipse/NetBeans/IntelliJ намного лучше, чем любой простой текстовый редактор, но для редактирования конфигурационного файла, C-кодирования, сценариев emacs предоставляет все, что вам может понадобиться, и многое другое. В последних версиях (к сожалению, все еще не выпущенных) даже поддерживаются шрифты TrueType в gnome.

Это будет болезненно. Всегда меняются инструменты. Но да, вы должны попытаться это изучить. Вы не пожалеете об этом.

Ответ 4

Я не думаю, что вы были бы более продуктивными. Я сам использую Emacs для программирования в настоящее время, но главная причина в том, что я должен ssh в систему, в которой я развиваюсь. В противном случае, вероятно, я бы использовал IDE, например IntelliJ или Eclipse.

Ответ 5

Разница между emacs и vim заключается в том, что emacs включает в себя множество функций и сочетает в себе почту, новости, файловый менеджер и, конечно, текстовый редактор. Vim делает только редактирование текста, и это очень хорошо (без плагинов). Это зависит от вас, если вам нравится emacs или нет. Мне лично нравится vim больше, но дайте emacs попробовать и найдите для вас лучший подходящий текстовый редактор.

Ответ 6

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

Если вы не используете vi/vim в качестве основного текстового редактора (что означает его использование для значительных усилий по разработке или просто значительное время), то все, что вы используете, является вспомогательным для вашей среды разработки.

Ответ 7

'emacs' велик, но если вам нравится "vi" и не будет его сильно использовать, вам лучше не вкладывать серьезное время в изучение emacs. emacs - это весело и со временем становится довольно интуитивным. Итак, я бы сказал, тратить 10-15 минут каждый день и посмотреть, как это работает для вас.

Ответ 8

Я всегда предпочитал vim для простого редактирования текста, но я предпочитаю elisp для расширения редактора. В эти дни я использую emacs для моего серьезного редактирования и vim для быстрых вещей, когда я ssh'd на сервер.

Ответ 9

Обучение Emacs - неплохая идея: многие IDE (например, Eclipse и NetBeans - при последнем использовании) поддерживают те же (или похожие) привязки ключей. Хотя эти привязки могут сбивать с толку вначале, они могут, на мой взгляд, значительно увеличить вашу скорость на клавиатуре, так как ваша рука никогда не покидает "домашнюю" позицию. В более зрелой среде IDE это неоценимо.

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

Ответ 10

Есть еще одно преимущество обучения emacs. Emacs был интегрирован в операционные системы unix удивительным количеством способов. Например, вы можете использовать основные команды emacs в xterm. Heck в OS X, вы можете использовать основные материалы emacs практически везде. Кроме того, вы можете установить множество IDE (например, Visual Studio или Eclipse), чтобы использовать команды, подобные emacs. Поэтому я бы сказал, что хорошо разбираться в основах emacs, даже если вы этого не используете.

Еще одно замечание: emacs - это находка на ноутбуках. Особенно ноутбуки Apple. Вам не нужно беспокоиться о том, какое ужасное место принадлежит домашнему ключу, потому что вам просто нужен C-a.

Ответ 11

Лично мне нравится emacs. Он широко доступен и имеет множество функций. В отличие от VI/m, у него нет концепции режима вставки, поэтому он выглядит как стандартный текстовый редактор.

Кроме того, Lisp.

Ответ 12

Если после чтения этого анализа редактора и IDE, вы считаете себя языком maven, тогда вам следует изучить Emacs. В противном случае вы не должны.

Ответ 13

Если использование теперь используется и как IDE, и вы уже знакомы с vi/vim, не делайте Emacs второй мыслью. Emacs никогда не заменит вашу среду IDE, и если бы это было возможно, vim сделал бы вас просто отлично. Nevermind the Emacs vs. vi святые войны... вы уже знаете vim, и vi/vim будет уже установлен на любой вкус UNIX, с которым вы сталкиваетесь.

Ответ 14

Это довольно хорошая идея, чтобы учиться, используя Emacs или vi хорошо. Затем вы сможете сами решить, что лучше всего подходит для вас. Возможно, вы в конечном итоге используете оба; ИДЕЯ для одного; "редактор" в других ситуациях.

Какой редактор (emacs или vi) в значительной степени зависит от вкуса. Очень полезно иметь локальных экспертов, которые могут ответить "Эй, как мне сделать X, используя редактор Y". Если ваши коллеги поклялись emacs, то я бы сказал, отпустите его.