Каковы преимущества Emacs для пользователей Mac OS X?


9

За последний год или около того я видел движение к переходу на Emacs в Mac OS X, часто от TextMate. Хотя я понимаю мотивацию для перехода с TextMate (TM2 более или менее программный продукт), я не совсем понимаю привлекательность Emacs. Я признаю, что это чрезвычайно мощный редактор, но он не очень хорошо интегрируется с операционной системой, использует другие ключевые команды, чем большинство других приложений, и имеет черту обучения.

С преобладанием текстовых редакторов других программистов в Mac OS X (BBEdit, Sublime Text, Xcode) и некоторых перспективных (Chocolat, Kod), что привлекает Emacs для тех, кто не живет в терминале и не имеет мышечная память для этого (пока)?


1
Также обратите внимание, что многие ярлыки Emacs работают для редактирования текста в OS X, например, Ctrl + D для правого удаления, Ctrl + K для Kill и Ctrl + Y для Yank и т. Д. Это хорошо работает с Aquamacs Emacs, где Cmd +? сочетания клавиш, такие как Cmd + Z для отмены, Cmd + X, + C, + V для вырезания / копирования / вставки, работают точно так же, как и остальные OS X.
Джаред Апдайк,

Ответы:


6

IMO, если у вас есть опыт работы в UNIX с предыдущим опытом работы с Emacs, возможно, имеет смысл «перенести его» на OS X. Как новый текстовый редактор, я лично не думаю, что это имеет смысл. Да, это полностью функциональный текстовый редактор, и он может делать все, но, как вы сказали, он плохо интегрируется в ОС, что для меня является серьезным препятствием.

Я использую vim на OS X, потому что это мой любимый редактор в Linux (где я делаю большую часть работы, которая приносит мне деньги), однако, с учетом сказанного, я начал изучать и использовать BBEdit.


10

Вы можете использовать OSX GUI Emacs в форме Aquamacs, который настроен так, чтобы быть более OSX, как его ключевые команды и меню, и интегрируется с ОС.

Одна из привлекательных сторон emacs заключается в том, что emacs в основном написан на языке (e-lisp), который пользователи могут использовать для его расширения. Существует множество сценариев, которые добавляют всевозможные функциональные возможности в редактор, делая его почти таким же мощным, как ide. Даже конфигурация написана на одном языке, поэтому, когда вы изучите ее, вы сможете изменить все, что захотите.

Другая причина, по которой я использую emacs, заключается в том, что он работает на нескольких ОС (Windows, Linux, Solaris и OSX), и поэтому мне не нужен отдельный редактор для каждой из них, как если бы я использовал BBEdit и т. Д.


1
Emacs - это Emacs, куда бы вы ни пошли. Изучите это однажды (и распечатайте хорошую шпаргалку), и вы узнаете это навсегда.
КММ

1
@ Кевин: Я использую его с 1991 года, и я все еще учусь этому. ;-) Я живу в этом для работы, я использую это ежедневно, но я все еще изучаю подсказки как M- / для динамического локального завершения ...
Майкл Х.

6

Ответы на подобные вопросы, вероятно, будут субъективными. Я склонен не соглашаться с тем, что Emacs.app плохо интегрируется в MacOS. В настоящее время я использую обычный Emacs.app из emacsformacosx.com (не Aquamacs), и несколько строк в ~ / .emacs могут легко использовать знакомые ярлыки, например, попробовать

(setq mac-option-modifier nil)
(setq mac-right-option-modifier 'meta)
(setq mac-right-command-modifier 'hyper)
;; M-x to its usual meaning:
(global-set-key (quote [343144]) (quote execute-extended-command))
;;  M-p to its usual meaning:
(global-set-key (quote [332412]) (quote next-history-element))

Также такие ярлыки, как cmd-O, открывают обычный диалог файлов MacOS, поэтому не нужно изучать новые ярлыки. Кстати, несколько общих ярлыков MacOS на самом деле происходят из Emacs (например, Ca для начала строки и Ce для конца строки, которые являются значениями по умолчанию в большинстве приложений MacOS, таких как Safari или iWork).

Основные причины, по которым я использую Emacs:

  1. Поддержка практически любого языка программирования, не только подсветка синтаксиса, но и стилизация, завершение идентификаторов, автоматическое отступление (простое использование TAB в emacs обеспечивает чистоту кода и предотвращает довольно большое количество опечаток / несоответствующих скобок и т. Д.)

  2. режим орг

  3. Отличная поддержка для редактирования / предварительного просмотра документов LaTeX с использованием AUCTex

  4. Совместимость рабочего процесса с моим рабочим столом, который является компьютером Linux

  5. Мощные инструменты для разработки программного обеспечения (и не только), такие как magit, emerge

  6. Удивительная поддержка в EmacsWiki


1
+1, так как это именно основные причины, по которым я использую emacs в OS X, не говоря уже о том, что я использовал в Linux до перехода на Mac. Режим org великолепен, и я всегда пытаюсь найти больше способов добавить его в свой рабочий процесс.
см2

5

Не совсем правильный ответ, но есть некоторые специфичные для Mac привязки в сборке Cocoa Emacs, которые полезны.

Emacs Cocoa Mac / OS X привязки клавиш

  • + &kill-this-buffer
  • + 'следующее мультикадровое окно
  • + ,настроить
  • + -осевая линия
  • + ;ispell-next
  • + shift+ :ispell
  • + shift+ ?информация
  • + shift+ Cpopup-color-panel
  • + shift+ DDired
  • + shift+ Eedit-abbrevs
  • + shift+ Hdo-hide-others
  • + shift+ Lshell-команда
  • + shift+ Mручной ввод
  • + shift+ Sns-write-file-using-panel
  • + shift+ ^kill-some-buffers
  • + `другой кадр
  • + amark-whole-buffer
  • + cнс-копия-включая-вторичная
  • + disearch-repeat-backward
  • + eisearch-yank-kill
  • + fisearch-forward
  • + gisearch-repeat-forward
  • + hns-do-hide-emacs
  • + jобменный пункт и отметка
  • + kkill-this-buffer
  • + lgoto-line
  • + mиконка-рамка
  • + nсделать рамку
  • + ons-open-file-using-panel
  • + pns-print-buffer
  • + qsave-buffers-kill-emacs
  • + sсохранить-буфер
  • + tns-popup-font-panel
  • + uреверт-буфер
  • + vдергать
  • + wdelete-frame
  • + xkill-region
  • + yнс-паста-вторичная
  • + zотменить
  • + |командная оболочка на регион
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.