Emacs

Emacsを使っている、拡張している、または開発している人のためのQ&A

4
さまざまなEmacsパッケージリポジトリの実際の違いは何ですか?
同じソフトウェアを含むことが多いリポジトリがいくつかあることに気付きました。私が好む理由: GNU ELPA マーマレード メルパ 他のものよりも?1つのリポジトリに必要なすべてのパッケージが含まれていないため、これらのリポジトリを同時に有効にすることをお勧めしますか?



4
Aquamacsと他のMacバージョンのEmacsの違いは何ですか?
Macintoshユーザーには、ビルド済みのEmacsの選択肢がいくつかあります。次のバージョンを認識しています。 山本光晴バージョン デビッド・コールドウェルのバージョン ヴィンセント・グーレットのバージョン David ReitterのAquamacs バージョン 私が念頭に置いていたいくつかの質問: これらのバージョンは重要な点で異なりますか? 初期化ファイルを変更するだけで、他の機能を取得できますか? これらの変更はアップストリームに戻りますか? Aquamacsには非常にMacに似たキーバインドがあるため、「非正統派」と見なされますが、Aquamacs以外のバージョン間の違いを理解することにも興味があります。
99 osx  aquamacs 


13
ウィンドウをすばやく切り替える方法は?
ウィンドウをすばやく切り替えるにはどうすればよいですか? 私はしばしば複数のウィンドウを開いており、それらを切り替える必要があります。今、私はC-x o私が欲しいものに到達するために使用します。これに利用できるより効率的なワークフローはありますか?

3
EmacsでGitの競合をマージする方法
私の最近のGitマージでは、多数の競合が発生しました。私の現在のアプローチは、「<<<」の次の出現を検索してから、標準のテキスト編集によってマージを実行することです。 質問:EmacsがGitのバージョン、バージョン、およびファイルのベースバージョンに関する情報を使用してマージをサポートできる方法はありますか? 編集:この質問は、ediffの呼び出しに限定されないため、この関連する質問とは異なる範囲を持ちます。
84 git 

7
80桁目でルーラーを取得するにはどうすればよいですか?
プログラマーとして、特定の列(通常は80)にルーラーを表示したいので、両方ともその列を横切ったときに表示されますが、コードに早期に再フォーマットできるようにどれだけ近いかを確認します。 私がこれまでに見つけたオプションは、すべてこの目標を達成していません。 whitespace-mode、column-enforce-mode、およびcolumn-marker行のテキストがすでに経過した後にのみ、個々の行をハイライトfill-column。コラムを横切ったときだけでなく、コラムに近づいたときを見たいです。 fill-column-indicator良い解決策になる、それが壊れる除きauto-complete-mode、company-mode、avy、そしてより多くの。これらは、それぞれが個々の回避策を必要とする修正するのは難しいように見える問題である-例えば、参照の問題と問題)、2歳以上、後者を。company-modeauto-complete-mode より良い代替手段はありますか?

5
emacsでメールを読み書きする
emacsを使用してメールを読み書きするにはどうすればよいですか? この質問は、emacsを使用して電子メールを処理したいユーザーに標準的な着陸地点を提供することを目的としています。 回答ごとに1つのパッケージ/ソリューションのみを、できるだけ詳細に投稿してください。役立つ情報には次のものがあります。 要件、サポートされている環境 サポートされているメソッド(読み取りおよび/または送信) サポートされているプロトコル(ポップ、imap、smtp、ローカルメールのセットアップ...) サポートされている認証 パスワードストレージ(なし、プレーンテキスト、外部ウォレットへのアクセス...) オフラインサポート(なし、積極的なキャッシュ、オンデマンド...) アタッチメントを使用するのは簡単ですか?(ドラッグアンドドロップで追加、ダウンロード、emacsまたは別のアプリケーションで開く...) セットアップ手順(詳細なほど良い)、スクリーンショット... 追加の電子メール機能(アーカイブ、フィルタリング、フォルダー)のサポート 追加の関連機能(連絡先、RSSフィード)のサポート...機能が電子メールにどれだけ密接に関連しているかによって、ここで詳しく説明する必要はありません。 ユーザーが外部プロセスと直接対話する必要がない限り、メールを処理するために外部ツールを必要とするソリューションは歓迎されます。 例:muttのフロントエンドとして機能するパッケージはトピックに基づいていますが、thunderbirdユーザーがemacsを使用してメッセージを書くことを可能にするソリューションはそうではありません。 議論のためのメタ投稿。 回答へのクイックリンク(アルファベット順): GNUS ミュウ Mu4e あまりない ワンダーラスト
77 email 

10
非常に長い行がEmacsを遅くするのを防ぐにはどうすればよいですか?
訪問しているファイルに含まれる改行の数によって、パフォーマンスが大きく異なります。 以下に例を示します。2つのJSONファイルがあります。 $ wget https://github.com/Wilfred/ReVo-utilities/blob/a4bdc40dd2656c496defc461fc19c403c8306d9f/revo-export/dictionary.json?raw=true -O one_line.json $ python -m json.tool <one_line.json >pretty_printed.json これらは、同じコンテンツを持つ2つのJSONファイルです。one_line.json改行なしの18MiBのJSONです。pretty_printed.json改行と空白が追加され、41MiBになりました。 ただし、多くの行に分割された大きなファイルは、JavascriptモードとFundamentalモードの両方で、Emacsで開く方がはるかに高速です。 Emacsは実際にはバイト数が少ないので、長い行でパフォーマンスが低下するのはなぜですか?Emacsの外部でデータを再フォーマットせずにパフォーマンスを改善するためにできることはありますか?

4
custom.elの代わりにsetqを使用して変数を設定する利点は?
多くの人(拡張機能の作成者など)が以下の設定例を提供しているのを見ますsetq: (setq foo 'bar) これらのパラメータはしばしばで定義されdefcustom、を通じてカスタマイズできるようにしますcustom.el。 通常、custom.elそれらを設定するために使用します。setq代わりに使用する利点はありますか、または2つの方法はほぼ同等ですか?



8
バージョン管理で.emacsおよび.emacs.dを保持する場合、何をすべきか、すべきではありませんか?
多くの人々と同様に、私は多くのドットファイルをバージョン管理リポジトリ(Bitbucket上のMercurial、私の場合はプライベート)を介して管理しています。これは、新しいマシンをセットアップしたり、異なるマシン間で構成を伝播したりするときに便利です。 だから、当然、私は私のコメントを追加.emacsして.emacs.d、このセットアップに。 次に、いくつかのパッケージをインストールし、Pythonリポジトリからファイルを省略したように、に追加*.elcしました。.hgignore*.pyc 私が追跡するべきではない他のもの、たとえば、環境固有であり、別のプラットフォームにクローンを作成したときに役に立たない/正しくない生成ファイルはありますか?(デスクトップではLinuxとOS Xを使用し、サーバーではFreeBSDを使用しています。) この種の共有をより価値のあるものにするために一般的に使用されるセットアップのトリックはありますか?シェルファイルのセットアップでは、たとえばブランチ間で個々のファイルをチェリーピックするための良い方法を探しています。

4
キーがバインドされているキーマップを確認するにはどうすればよいですか?
で「d」キーをリバウンドgnus-article-modeしましたが、ポイントが添付ファイル上にある場合、その古い動作は引き続きアクティブです。を実行することで再バインドが有効にならなかったことがわかりますが、C-h k dその時点でどのキーマップが有効であるかを教えていないので、再バインドできます。 それを見つける方法はありますか? 正確な例は次のとおりです。私は悪を使用しており、記事をモーションモードにする必要があります。キーボードレイアウトでは、上に移動するキーとして「d」を設定しました。 (evil-mode 1) (add-to-list 'evil-motion-state-modes 'gnus-article-mode) (setq evil-emacs-state-modes (remove 'gnus-article-mode evil-emacs-state-modes)) (define-key evil-motion-state-map "d" 'evil-previous-line) 邪悪なキーが確実に考慮されるように、ローカルマップでgnusキーの設定を解除します。 (defun as/alter-article-evil-map () (local-unset-key "d")) (add-hook 'gnus-article-mode-hook 'as/alter-article-evil-map) 残念ながら、ポイントが添付ファイル上にある場合、「d」キーは表示されなくなりますが、添付ファイルを削除するように求められます。その時点で別のバインディングがアクティブになっていると思うので、質問です。 解決策keymaps-at-point以下を使用して、使用されたキーマップがテキストプロパティからのものであることを見つけました。次に、バインドされた関数のコードを見て、キーマップの名前を見つけましたgnus-mime-button-map。次のコードは私が望むことをします: (defun as/alter-article-evil-map () (define-key gnus-mime-button-map "d" nil)) (add-hook 'gnus-article-mode-hook 'as/alter-article-evil-map)

Licensed under cc by-sa 3.0 with attribution required.