Каковы преимущества 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.