Emacs-as-OS: устарел? [закрыто]


22

В попытке достичь хотя бы статуса новичка с таким легендарным редактором, я программировал в Emacs последние два месяца. Я стараюсь сохранять открытость, но я постоянно не согласен с одним из основных вариантов дизайна: Emacs позволяет пользователям никогда не уходить. В мире 2010 года я просто считаю, что каждая побочная функция Emacs безнадежно отстает от специализированного программного обеспечения:

  • Я бы никогда не использовал его встроенный браузер; Хром впереди года.
  • Я бы никогда не использовал его устаревшую функцию; Path Finder (Mac OS X) соответствует моим потребностям.
  • Я бы никогда не использовал его встроенную электронную почту; Веб-интерфейс Gmail имеет более важные функции, такие как Приоритетная Входящие.
  • И т.п.

Конечно, я мог бы иногда заглядывать в Emacs, чтобы использовать регулярные выражения и т. Д. Для выполнения одной из вышеуказанных задач, но кроме регулярных выражений, я действительно не вижу причин когда-либо касаться этих побочных функций. Я совершенно новичок, но у меня есть сильное чувство, что Emacs-as-an-OS устарела.

Эксперты Emacs, считаете ли вы, что выбор Emacs в качестве всеобъемлющей среды является правильным выбором на 2010 год и будущее? Существуют ли особые периферийные функции, которые все еще находятся на своем этапе или опережают его по сравнению с альтернативами?


9
Это действительно вопрос? Похоже, вы уже решили.
Ларри Коулман

5
@Emacs действительно хорош для разработки gcc + gdb в среде Unix. Это также хорошо для написания LaTeX.

20
Вот почему в Emacs есть психиатр.
Тим Пост

3
@Tim, Mx tetris гораздо веселее.

2
Я вас полностью понимаю ... Я использовал vi годами и потратил некоторое время на изучение Emacs ... и я пришел к выводу, что оба они просто не соответствуют моим потребностям ... для программирования я предпочитаю современная IDE (Eclipse) и для простого редактирования текста / написания сценариев, nano просто отлично.
Оливер Вейлер

Ответы:


14

Я использую emacs в течение последних 10 лет (от и до), и я могу только сказать, что вы абсолютно правы . Когда-то я использовал gnus и браузер w3, но, очевидно, они больше не подходят по сравнению с выделенными программами. Но, очевидно, вы не можете запустить Chrome в текстовом режиме, так что именно здесь побеждает emacs. И даже там, я бы предпочел использовать рысь / elinks или mutt для этого.

Редактор Emacs-the-programmers также потерял связь. Редактирование текста - это просто замечательно, но когда я пишу код , мне хочется таких функций, как: определение перехода, автозаполнение, рефакторинг, подсказки синтаксиса, документация по параметрам и т. Д. (Например, Eclipse). Я пробовал пару режимов emacs, но так и не заработал. И нет, я не хочу учить элисп, спасибо.

Кроме того, emacs не совсем понимает семантику кода. Это до боли очевидно при кодировании в файле, содержащем несколько языков, таких как html с javascript и php или чем-то еще. Это просто ломается. Для этого я предпочитаю использовать любой другой редактор (notepad ++ или любой другой), который делает работу намного лучше.


5
Из всего, что вы перечислили, Emacs на самом деле имеет «определение перехода» (используя etags), «автоматическое завершение» ( autocomplete.elя думаю), подсказки синтаксиса / документацию по параметрам (для каждого языка в отдельности). Единственное, что вы упомянули, что оно не поддерживает AFAIK - это автоматический рефакторинг, который не является ни необходимым, ни полезным для всех языков. Несколько режимов ужасно, хотя; он существует и поддерживает PHP и смешанные языки, но это плохо (например, слишком медленно, если я не на рабочем столе). Я также дам вам тот же совет, что и любому коллеге: если вы не хотите изучать Lisp, не используйте Emacs, это ничего не сделает для вас.
Инамати

8
Согласовано; Emacs - это не ОС. Я возражаю против того, что «Emacs-the-programmers-editor тоже потерял связь». Это особенно необоснованный аргумент, учитывая, что вы отказываетесь изучать Elisp, так как большая часть Emacs-the-programmers-editor заключается в применении настроек. Я бы не стал возражать против того, что «я не использую Emacs, потому что мне не хочется изучать Lisp», но вы говорите так, будто ваше преднамеренное незнание инструмента влияет на его пригодность. Это наравне со мной, говоря: «Eclipse отстой, потому что у него нет поддержки PHP. И мне не хочется учиться устанавливать плагины, спасибо».
Инамати

1
@Inaimathi Вам не нужно изучать elisp (или любой другой язык), чтобы правильно использовать Eclipse. Установка плагинов также не требует этого.
Мартин Уикман

2
@Martin - у него нет встроенной поддержки PHP (или нет, когда я его использовал); вам нужно установить плагин для этого. Вышеприведенное утверждение эквивалентно «[Editor] отстой, потому что у него нет [функции, которую он на самом деле имеет, но это нужно включить], но я не очень хочу изучать [то, что вам нужно сделать для того, чтобы чтобы включить его]», и моя точка зрения в том , что это является необоснованным аргумент.
Инамати

3
@Inaimathi: Что касается рефакторинга, я искал программу автоматического рефакторинга на C ++, и одна из немногих, что я нашел, была в elisp. Если вы говорите «emacs не поддерживает X», вы, скорее всего, ошибаетесь.
Дэвид Торнли

19

Выберите правильный инструмент для работы.

Попробуйте запустить Chrome или Path Finder через ssh-соединение - здесь вам понадобятся альтернативные инструменты, а Emacs был разработан для работы в терминале.


Хороший вопрос о SSH.
AlcubierreDrive

3
пересылка х11?
TheLQ

7
Сколько людей на самом деле используют веб-браузер через SSH-соединение?
Compman

1
@ compman, да. Это может быть чрезвычайно полезно для загрузки файлов с веб-сайтов.

1
OS X имеет VNC, просто туннелируйте соединение VNC через SSH, и вам не нужно беспокоиться, что OS X не использует X11.
Ли Райан

8

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

Если вы хотите повысить свою продуктивность с этим, у Стива Йегге есть несколько хороших советов.


Я категорически не согласен с подходом Стивса, связывающим тонны ключей, чтобы заставить Emacs вести себя. Изучите стандартные сочетания клавиш и используйте свои .emacs для настройки их поведения.

Его точка зрения в основном эргономична: он не говорит, что есть проблема со стандартными привязками как привязками, он говорит, что есть проблема с тем, где находятся клавиши на клавиатуре, и что если вы хотите сделать их удобными в использовании вам нужно найти клавиши для этой цели, чтобы вам не приходилось запутывать свои маленькие пальцы в самых дальних углах клавиатуры. Я вижу смысл в этом, но это ограничивает вас, если вы часто меняете машину, так как вам нужен другой набор мышечной памяти или целую вечность, перенастраивая каждую машину, которую вы используете.
Гленатрон

5

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

РЕДАКТИРОВАТЬ: две мои любимые функции emacs, кроме редактирования текста, это режим оболочки и gnus. После разочарований в группах Google из-за спама я подписался на Eternal September и узнал, как использовать gnus. Навигация по сообщениям намного быстрее, и только случайная публикация спама проходит, и избавление от нее - вопрос одного нажатия клавиши. Режим оболочки особенно полезен для меня на работе, потому что копирование / вставка более эффективно, чем в приглашении DOS.


Я не отклоняю текстовый редактор как устаревший; Я согласен, это очень эффективно, когда вы привыкнете к этому. Мой вопрос касается достоинства выбора дизайна, что вы должны иметь возможность делать все и вся, не выходя из Emacs. Существуют ли особые периферийные функции, которые все еще хороши, или вы знакомы с историей некогда великолепных периферийных функций, которые сейчас превзошли?
AlcubierreDrive

1
Я отредактировал увольнение как устаревший раздел после прочтения ваших комментариев. Я не использую emacs для всего, но мне действительно нравятся режим оболочки и gnus.
Ларри Коулман

Милая! Я добавил новую вторую половину к своему вопросу в ответ на ваши отзывы. Ваш комментарий отвечает так +1
AlcubierreDrive

1
Также возможность делать все в emacs имела больше смысла, скажем, в 1994 году, когда компьютеры работали намного медленнее, чем сейчас. Время от времени я использую dired, если я уже нахожусь в emacs и часто использую оболочку. Возможность делать много вещей в моем редакторе или, по крайней мере, без необходимости переходить к мышке - это победа для меня. У вас может быть другой вкус (это действительно вопрос вкуса на каком-то уровне)
Захария К

2

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

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

  • как сложные возможности удаленного редактирования
  • создание и редактирование встроенного макроса свободной формы
  • глубина и ширина доступных расширений / пакетов

Более десяти лет он был моим любимым редактором для разработки программного обеспечения и обработки текстов.

Лучше всего мне не нужно прикасаться к моей мыши при использовании Emacs.


2

Emacs может стать для вас ОС, если вы хотите изучать Lisp и писать свои собственные функции, соответствующие вашим потребностям.

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

Попытка улучшить Emacs - трудная задача, потому что вы должны изучить Lisp. Даже существующие плагины становятся все старше и старше. Возьмите языковые режимы, например, общие языки, такие как JS и PHP, почти не поддерживаются даже для подсветки синтаксиса. Лучшего режима, который вы могли бы найти для них, просто недостаточно.

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


1

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

Но как настоящий vim'er, я всегда был немного расстроен тем фактом, что многие emacsers пытаются использовать emacs буквально везде, буквально для всех задач.

Чтение почты, запросы к базе данных, чтение PDF-файлов - это самые невинные задачи, которые я когда-либо видел "изнуренными".

Так что, как по мне, есть три основных направления использования emacs:

  1. Редактирования текста. И это потрясающий, супер инструмент. Поверьте, после долгого использования vim или emacs вы полностью упустите его возможности в самых продвинутых IDE.

  2. IDE. Ну, это можно сделать. Более того, он может как-то конкурировать с режимами IDE. Но дело в том, что для того, чтобы сделать его действительно конкурентоспособным, вы должны инвестировать. Вы должны попытаться собрать много разных скриптов. Вы должны даже написать свои собственные фрагменты кода. Я бы не стал, если честно.

  3. Другие задачи, большинство из них экзотические или даже эзотерические. Игра в тетрис и тд. Лучше не надо.


1
Как давний пользователь emacs и vi (более чем 20-летний опыт работы с обоими, а также около 1 года использования ed в качестве основного редактора), я нахожу emacs близким к высшему из-за случайного «у меня появляется повторяющийся код» Позвольте редактору автоматически сгенерировать его »(вместо того, чтобы, скажем, написать другой кусок кода, затем скомпилировать и запустить его, чтобы сгенерировать код).
Ватин

0

Где-то в моей коллекции вещей, я уверен, что моя жена хочет, чтобы я просто выбросил ее, у меня есть копия Emacs на ленте QIC-40. Я заплатил 50 долларов, чтобы получить его.

Я не мог # @% # $ # $% @ ^ #% # тогда, я не могу это терпеть сейчас. Я не говорю, что это не очень хороший редактор для некоторых, но для меня ... это мешает больше, чем что-либо еще. Первоначально предполагалось работать с ключами от бутылки кока-колы , и это было очень хорошо.

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

Поверь мне, ты не проблема.


2
«Это важный артефакт, и он принадлежит музею!»

1
«Если это не работает для вас, не используйте его» - это призыв к субъективности, поэтому «вы не проблема» - противоречие.
Джон Перди
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.