Aquamacsと他のMacバージョンのEmacsの違いは何ですか?


99

Macintoshユーザーには、ビルド済みのEmacsの選択肢がいくつかあります。次のバージョンを認識しています。

私が念頭に置いていたいくつかの質問:

  1. これらのバージョンは重要な点で異なりますか?
  2. 初期化ファイルを変更するだけで、他の機能を取得できますか?
  3. これらの変更はアップストリームに戻りますか?

Aquamacsには非常にMacに似たキーバインドがあるため、「非正統派」と見なされますが、Aquamacs以外のバージョン間の違いを理解することにも興味があります。


データポイント:これらのエマセンの束を試したところ、山本光晴のフォークに落ち着きました。私は何年もAquamacsを使用してきましたが、頻繁にクラッシュし(フレーム/タブに関係する)、もうそれを受け取ることができませんでした。Aquamacsは、かつて誰もしなかった多くのことを行っていたようですが、それはもはや事実ではありません。現在、山本フォークはMacの優れた選択肢のようです。
スコットフレイゼ

私は通常Aquamacsを使用しますが、今回は醸造することにしました。ちょっとした注意:#キーを取得するには、オーストラリアの入力タイプを設定してください!
デイブホジキンソン

回答:


126

Mac OS X用のEmacs

Mac OS X用Emacsは、GNU Emacs固有のOS Xバイナリを提供します。GNU Emacsリリースtarballをでコンパイルするのとほぼ同じです./configure --with-ns。このサイトでは、安定したリリースと事前テストのビルド、および夜間のスナップショットを提供しています。これらのビルドはすべて自己完結型であるため、事前テストとスナップショットを安全に試すことができます。

ただし、これらのバイナリには、いくつかのライブラリ、特にGNU TLSとImageMagickのサポートがないことに注意してください。これらを使用する場合(前者はEmacsでメールを読みたい場合は特に重要です)、HomebrewからGNU Emacsを取得する必要があります。

OS X用Emacsの変更

Emacs for OS X Modifiedによると、上記に基づいたGNU Emacsの単なる標準ビルドであり、いくつかの追加パッケージと、これらすべてのパッケージを有効にするために必要な構成を備えています。

ESSの顕​​著な例外を除き、これらのパッケージはすべて、Emacsのパッケージアーカイブを介してEmacsにインストールできます。たとえば、を入力M-x package-install RET auctexして有効にするだけで、AUCTeXをGNU Emacsにインストールできます。

パッケージの選択は、RとESSを使用してデータを処理し、OrgまたはAUCTeXとLaTeXを使用して論文を公開する統計学者と研究を主な対象としていることを示唆しています。

他のユーザーにとっては、とにかく追加のパッケージをインストールする必要があり、GNU Emacsをすぐに適切に使用できるため、このディストリビューションはおそらくほとんど価値がありません。

これは、追加のEmacsパッケージをインストールし、init.elそれに応じて調整することにより、GNU Emacsで適切に作成できる唯一のディストリビューションです。他のディストリビューションは、パッチが適用され、GNU Emacsのフォーク版です。

Emacs Macポート

Emacs Mac Portは、OS X統合の改善に適したGNU Emacsのパッチセットです。GNU Emacs自体もネイティブOS Xをサポートしていますが、このパッチセットが提供するOS X固有の追加機能がないことに注意してください。特に:

  • テキストの外観とUnicodeサポートを改善する、テキストレンダリング用のコアテキスト。これはGNU Emacs固有にマージされ、Emacs 24.4の一部です。
  • スムーズなスクロール。GNU Emacsの適切なスクロールは行単位で行われますが、トラックパッドでは非常に遅れてびびります。Emacs Mac Portは、他のネイティブOS Xアプリケーションと同様に、ピクセルベースのスクロールを使用します。これは、はるかに滑らかで、はるかに正確です。ただし、トラックパッドのスクロールにのみ影響するため、マウスを使用しない場合は必要ありません。
  • ジェスチャー。ピンチして、テキストサイズを増減できます。繰り返しになりますが、マウスを使用しなくても気付くことはありません。これは間違いなく単なる素晴らしい機能です。
  • Appleイベントのサポート。Emacs LispからAppleイベントを送受信できます。
  • 辞書サービス。3本指でタップすると、他のOS Xアプリケーションと同様に、Appleの辞書アプリケーションでカーソルの下の単語が検索されます。
  • サービス統合。実行中のEmacsのコンテキストメニューから、Finderで選択したファイルを開くことができます。
  • librsvgではなくWebkitを使用したネイティブSVGディスプレイ。Webkitは私の知識に対するSVGのサポートが優れていますが、EmacsでSVGを見るのは誰ですか?

これらの機能のほとんどはOS Xへの統合にのみ関係しており、Emacsを使用するために必須ではないことに気付くでしょう。それ以外は、Emacs Mac Portは標準のGNU Emacsによく似ています。

一部の機能はGNU Emacsに戻りますが、他の機能はOS X専用であり、独自のオペレーティングシステムをサポートしないFSFの政治に反する無料の代替GNUStepでは利用できないため、マージされません彼らの無料の代替案の上。また、正しく覚えていれば、このパッチセットの作成者は、おそらく前者の理由で、機能をアップストリームに戻すことにほとんど関心を示していません。

アクアマックス

Aquamacsは、GNU Emacsの非常にパッチが適用されたフォークです。上記のすべてとは異なり、GNU Emacsに基づいていませんが、独立したソースツリーがあります。ただし、Emacsのアップストリームと定期的に同期しており、Emacsのリリースに密接に従います。ただし、必然的にGNU Emacsトランクよりも遅れます。

ネイティブOS Xアプリケーションのように見えるように大幅に変更されています。特に、例えばCmd+S保存するために、標準のOS Xキーバインディングをサポートし奨励します。ただし、ほとんどの場合、標準のEmacsバインディングは引き続き使用可能です。

フォークであり、大幅に変更されており、まったく異なる目的と原則があるため、その機能はいずれもGNU Emacsにマージされません。これらの変更のほとんどは、GNU Emacsの「精神」、アイデア、哲学に直接反します。

TL; DR(または:何を選ぶべきか)

  • 統計学者または研究者で、Emacsを自分でセットアップしたくない場合: OS X用のEmacsが変更されました
  • ネイティブOS Xアプリケーションが他の何よりも必要な場合:Aquamacs
  • Emacsが必要ですが、できるだけOS Xをサポートしている場合:Emacs Mac Port
  • 合併症のないEmacsが必要な場合:Mac OS X用Emacs

私の個人的なアドバイス

OS X ModifiedまたはAquamacsでEmacsを試したことはありませんが、前者ではほとんど使用されていません(統計学者ではなく、AUCTeXを自分でインストールできます)。後者に対してもお勧めします。これはフォークであり、OS Xとの最適な統合を提供しますが、必然的に遅れをとり、Emacsコミュニティ全体からのサポートが少なくなります。多くのパッケージはAquamacsをサポートしていないため、問題がある場合は、Aquamacsユーザーとして放置される可能性が高くなります。

私はEmacs Mac Portを試しましたが、スムーズなスクロール、ジェスチャー、Apple Eventsは素晴らしいですが、これらの小さな利点は、GNU Emacsのパッチを当てたバージョンを保持する手間をかける価値がないことがわかりました。YMMV、明らかに、そしてもしあなたがOS Xの良いサポートを気にかけているなら、そしてこれらの機能があなたにアピールするなら、あなたは間違いなくそれを試してみるべきです。

最近では、GNU Emacsスナップショットビルドのみを使用しています。これらはOS Xをかなり適切にサポートしており、インストールするのが最も簡単で、コミュニティによって最もよくサポートされています。

以前はMac OS XのEmacsからそれらを取得していましたが、現在はHomebrewを使用しています。これは、より多くのライブラリ、特に暗号化されたネットワーク接続用のGNU TLSをサポートしているためです。

全体として:brew install emacs --HEAD --use-git-head --with-cocoa --with-gnutls --with-rsvg --with-imagemagick:)を使用します。


8
まあ-Macポートを使用することもそれほど難しくありません。github.com/railwaycat/emacs-mac-portから:brew tap railwaycat/emacsmacportそしてbrew install emacs-mac
レイナー14

3
「Macポート」は、ネイティブOSX GUIサポートを備えた最初のEmacsではありませんでした。代わりに、Emacsが古い「Carbon Emacs」コードから新しい「Emacs.app」コードに移行した頃に生まれました(この移行は、AppleによってCarbonが非推奨になったためと思われます。 「Emacs.app」コードにはGNUstepをサポートする可能性があったためです。今日まで、GNUstepサポートは基本的に使用できません(GNU / Linuxシステムの使用中にOSXコードのバグを追跡および修正するために時々使用されます) ))。
ステファン14年

6
優れた評価。OSXユーザーの一部は、AquamacsがネイティブOSXスペルチェッカーの組み込みサポートを知っていることに興味があるかもしれません。これには、ユーザーが以前に辞書に追加した保存単語のリストが含まれます。私の考えでは、これはAquamacsの重要な機能の1つであり、ビルドする前にソースコードを変更しない限り、他のEmacsバージョンでは複製できません。ただし、私はaspellを好み、マウスの使用を避けます-そのため、OSXスペルチェッカー(確かに非常に気の利いたもの)はAquamacsに切り替える理由ではありません。
法律家14年

1
免責事項:私はLinuxを使用していますが、OSXについてはよくわかりませんが、Emacsでメールを書いており、TLSは必要ありません。私は(というよりはmu4e)メールのmsmtp送信とmbsync取得を求めています。
mbork 14年

1
小さなnit:ソースからのコンパイルにはが必要ですが./configure --with-ns、ではありません--enable-ns
ハラルドハンシュオルセン14年

22

Aquamacsに関するいくつかの事実上の修正。独自のソースツリーを維持しますが、非常に定期的にEmacsとマージされ、ほとんどすべてのEmacsリリースですぐにマージされます。Aquamacs 3.1は、Emacs 24.4がリリースされた日に登場しました(Emacs 24.4のすべての機能とバグのサブセットが組み込まれました)。Aquamacsには通常のユーザーが1万人以上おり、積極的にサポートされています。

Emacs Macポートは、EmacsのCocoaおよびNextstepポートよりもかなり遅れて作成されました。それは実験的であると見なされ、元の作者は自分のパッチセット外への再配布を勧めています。そのため、サポートは他のどのソリューションよりもはるかに制限されます。しかし、開発の興味深いラインであり、開発者に採用されると、最終的にコミュニティに大きな価値を提供します。ただし、ユーザーは自分自身を「ベータテスター」と見なし、適切なバグレポートとパッチでできることを貢献する必要があります。

Aquamacsの価値は、「すぐに使える」という哲学にあります。LaTeX、EmacsSpeaksStatistics、およびMac統合はそのまま使用できます。複雑な構成は必要ありません。


Emacsはまれにしかリリースされないため、Aquamacsがリリース後にのみマージされる場合、それまれです。ただし、その部分を削除するように回答を更新しました。また、Aquamacs自体は積極的に保守およびサポートされていますが、コミュニティサポートはかなりまばらです。Aquamacsを明示的にサポートするサードパーティパッケージはほとんどありません。実際、多くのパッケージは明示的にGNU Emacsのみをサポートし、XEmacsやAquamacsを含むフォークや派生物はサポートしていません。
lunaryorn 14年

Mac移植版の作者に、パッチセット以外の部分を再配布しないようにというアドバイスのソースがありますか?
lunaryorn 14年

@lunaryorn:これは当時真実だったと思うが、もはやそうではない。編集で、そのコメントを削除しました。
davidswelt

11

上記のすべてのオプションを試してみました(上記のコメントでReinerが推奨するタップでさえ)。しかし、鉄道のgithubページで管理されている山本光晴のフォークにはとても満足しています。公式のGNUバージョンに関しては最新です。.dmgここから画像をダウンロードするだけです:https : //github.com/railwaycat/emacs-mac-port/wiki/Downloads


8
空き時間ができたら、答えを拡大して、この特定のビルドとバニラビルドの違いを説明してください。そうすれば、あなたの答えは単なるコメント以上になり、読者はこの答えを離れて次のようなページを見る必要がなくなり
lawlist

0

私は最近までAquamacsバージョンを使用していました。MacでAuquamacsバージョンを使用していた主な理由は、デフォルト設定でemacsを使用してDragon Dictateを使用できたためです。セットアップを構成していたとき、通常のemacsバージョンのディクテーションに問題がありました。それとデフォルトのキーバインディング以外は、私がやり取りしたことで大きな違いはありませんでした。私の設定も同じように読み込まれます。キーバインドを使用して、クリップボードをコピー、切り取り、貼り付け、および元に戻すには、cmd-c、cmd-v、cmd-x、cmd-z、S-cmd-zをMacの習慣から外すと便利ですMacキーボードの片手で自動的に行うことができましたが、通常のemacsでそれらを好きなように設定できます。auquamacsはこれらのMac設定の多くには必要ありません。

ただし、最後に確認したAuquamacsのemacsは1年間更新されておらず、遅れているように見えました。期限切れの証明書の警告もいくつか表示されました。それがまだ維持されているかどうかはわかりませんでした。ウェブサイトで更新されたようには見えません。homebrewを使用してMac版の通常のEmacsをインストールし、口述を機能させるMacの設定にinitファイルを更新することができました。

しかし、私は最近linuxmintを使用しており、これに固執するつもりだと思います。私のシステムは、Linuxの方がずっと静かで、速く、滑らかで、デスクトップの外観を簡単にカスタマイズできます。Linuxバージョンのemacs initファイルに小さな変更をいくつか加えましたが、ほとんど同じです。しかし、Linuxのディクテーションに適した解決策を見つけることができませんでした。私のマシンが、ディクテーションソフトウェアのためだけに、仮想マシンで別のオペレーティングシステムを実行できることを知りません。ディクテーションソフトウェアもリソースを浪費しますが、それは別の問題です。DragonがLinuxでDictateのバージョンをリリースしてくれたら嬉しいです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.