Emacs

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

2
orgmodeを高速化するにはどうすればよいですか?
私は、1万行を超えるノート行を含むorg-modeファイルを使用しており、ツリーのトラバース(基本的な上下の動きのみ)が非常に遅い(使用できないほど)。より速く動作させるにはどうすればよいですか? 大きなファイルを多数の小さなファイルに分割できることはわかっていますが、(*。org.gpgに)暗号化して、別のファイルを開くたびにパスワードを入力したくありません。 ご協力ありがとう御座います。
9 org-mode 

1
compose-regionで表示された文字をコピーして貼り付けるにはどうすればよいですか?
基になるファイルを変更せずにコードでUnicode文字を表示するいくつかのモードを使用しています。たとえば、Haskellモードでは、次のコード: foo :: forall a. Eq a => a -> a -> a として表示されます foo ∷ ∀ a. Eq a ⇒ a → a → a これはで実装されcompose-region、実際のバッファテキストを変更せずに領域を文字で置き換えることができます。 ただし、コードをコピーすると、Unicodeなしで基になるテキストがコピーされます。ほとんどの場合、これは望ましい動作ですが、表示された文字を代わりにコピーしたい場合があります。自分の例の2番目のバージョンを自分で入力する必要がありました。 基になるテキストではなく、このような文字置換の結果をコピーするにはどうすればよいですか?(実際、これがまったく可能かどうかはわかりません!)

6
Emacsシェルで以前のコマンドを実行するにはどうすればよいですか?
もちろん、ターミナルにいるときに上矢印キーを押すと、前のコマンドに移動します。しかし、M-xキーを押してタイプshellすると、Emacsに統合シェルが表示されます。 ただし、コマンドを入力して押し上げると、次のようになります。 入力した最後のコマンドに戻るにはどうすればよいですか?
9 eshell 

2
Emacsからssh-addを実行し、パスフレーズを入力します
ssh-addシェルコマンドを呼び出したいのですが。そこでを呼び出しM-x shell-command RET、ミニバッファーで次のように入力します。ssh-add .ssh/id_rsa 私が得る唯一のものは: ssh_askpass: exec(/usr/bin/ssh-askpass): No such file or directory^M Emacsに別のプロンプトを表示させて、ssh-addが待機しているパスフレーズを入力するにはどうすればよいですか? これは、DebianのX11でのEmacsの場合です。

1
ヘルムのハイライトカラーを変更する方法
Monokaiテーマを使っています。を開始するhelmと、現在選択されている行が灰色で強調表示されます。特にタイトル情報が青色で表示されていると、簡単に見つけることができません。 この灰色のハイライトを、たとえば紫に変更するにはどうすればよいですか?
8 helm  colors 

1
フックとは?
明確にするために...たとえば、このドキュメントでは: フックは関数のリストを保持するLisp変数であり、明確に定義された場合に呼び出されます。(これはフックの実行と呼ばれます。)リスト内の個々の関数は、フックのフック関数と呼ばれます。たとえば、フックkill-emacs-hookはEmacsを終了する直前に実行されます... 評価kill-emacs-hook時に実行される一連の「フック関数」のリストを表す名前付きの変数(シンボル)kill-emacs-hookがあり、それによってそれらの関数を実行していると言っています。正しい?その後 (add-hook 'text-mode-hook 'auto-fill-mode) 追加されたauto-fill-modeことにより、特定され、そのリストにtext-mode-hookあり、すでに何に加えて。良い。今これ (defcustom text-mode-hook nil "Normal hook run when entering Text mode and many related modes." :type 'hook :options '(turn-on-auto-fill flyspell-mode) :group 'wp) を作成または変更しているようtext-mode-hookです。フックの性質とフックとの関係について混乱していdefcustomます。私の論理的な選択は、このコードがtext-mode-hook「タイプ」(elispのタイプが何を意味するのかわからない)の変数を作成することですhook。これは確かに、フックの最初の作成であるはずtext-mode-hookですか?もしそうなら、「オプション」とは何ですか?それらは想定されたフック関数ですか、それとも何か他のものですか?

4
'sexp'の発音は正しいですか?
これが馬鹿げた質問である場合は申し訳ありませんが、私はELispから始めたばかりであり、「sexp」という単語をどのように発音するか疑問に思っています。 つまり、私が誰かと話していた場合、この言葉はどのように言うのでしょうか。
8 sexp 

1
件名が空の場合にメールを送信する前に警告する方法
私がヒットした場合C-c C-cにはmessage-mode(I使用notmuchヘッダーが空である:私が構成したメールを送信するために)、私は、件名場合は警告されたいです。例:「件名なしで本当に送信しますか?(はいまたはいいえ)」 新しいメールを作成するときは、本文を書いた後に件名を記入します。それが初めて、件名が正確にわかるため、このメールの内容に最もよく一致します。悲しいことに、私はしばしば実際に件名を設定することを忘れ、メッセージモードではメールは件名なしで送信されます: オンラインで検索しましたが、既に回答済みのFAQは言うまでもなく、これは繰り返し発生するトピックではないようです。

1
magitを使用して2つのリビジョンのすべての変更を比較する
1つのファイルの変更だけでなく、2つのリビジョン間のすべてのファイルの変更を比較するために、MagitからEdiffを呼び出す方法はありますか? 私のユースケースは、同僚がブランチで行った変更を確認するように依頼することです。これは複数のコミットで実行される可能性があります。彼女のコードがリビジョンMでメインブランチから分岐したことは簡単にわかりますが、magitですべてを比較する方法がわかりません。 私はできるように見えますがM-x magit-log、それからE r <M> <branch name>ファイルを比較するように求められます。この場合、変更されたファイルは約20個あるE rため、それぞれのシーケンスを関連付けるのは面倒です。さらに、私はすでに見たファイルを覚えておく必要があります。 理想的には、次のいずれかを行います。 各ファイルをリストし、クリックしてediffを開始し、いつediffを開始したかを示す(または最後からファイルを削除できる)バッファー 変更されたファイルごとにediffセッションを開始し、セッションをリストしてそれらにアクセスできるようにするバッファーを使用します。 私は何ediff-directoriesができるかのようなものを考えています。 その機能はありますか? これは、magitで2つのコミットを比較するにはどうすればよいですか?:これらの2つのリビジョンの変更点を確認したい。変更がリビジョンで発生したのか、非共通の祖先で発生したのかに関係なく、これら2つのリビジョン間で異なるすべてのファイルの違いを確認したいと思います。
8 magit 

1
GNUSでThunderbirdのmaildirを読んで編集する
フォーラムが言うようにmaildir、Thunderbirdによって作成された読み取りにGNUSを使用することが可能であるべきです。しかし、投稿された実用的な実装は見つかりませんでした。そして私自身の実験では、購読するグループ(maildir内のフォルダー)をリストするGNUSを作成できませんでした。 これは私がやったことです: ThunderbirdでGmailアカウントを手動で設定し、オプションMessage Store TypeをFile per message (maildir) メールをmaildir形式で保存する必要があるThunderbirdのディレクトリを確認しました。私の場合/home/username/.thunderbird/some-id.default/ImapMail/imap.gmail.comは、次のものが含まれています。 drwxr-xr-x 4 4k 01-26 10:36 Archive drwx------ 6 4k 01-26 10:49 [Gmail].sbd drwxr-xr-x 4 4k 01-26 10:36 INBOX -rw-rw-r-- 1 196.7k 01-28 12:28 Archive.msf -rw-rw-r-- 1 1.1k 01-26 10:30 Drafts.msf -rw-rw-r-- 1 2.5k 01-26 11:00 [Gmail].msf -rw-rw-r-- 1 973.4k 01-28 12:22 …
8 gnus  email 

1
プロパティで照合する場合のorg-map-entriesの高速化
質問:org-map-entriesプロパティマッチングが非常に遅いのはなぜですか、それを高速化するにはどうすればよいですか? 背景:私は比較的単純な用途がありorg-map-entriesます:タグgoalと特定の優先順位(例:)を持つすべての組織アジェンダエントリから(整数分で)作業を取得しますB。 (org-map-entries #'hw-org-get-effort-in-minutes "goal+PRIORITY=\"B\"" 'agenda) これはひどく遅く、私の〜12,000行の議題ファイルに1分以上かかります。 ただし、PRIORITYフィルターからを削除してgoalsタグ付きアイテムを選択すると、ほぼ即座に完了します。 のようにフィルターを設定することもできますが、フィルターはgoal/DONE非常に迅速に完了しますが、私がそのようなgoals+EFFORT>0ことをすると、1分以上かかるようになります。一般に、プロパティのマッチングは非常に遅いようです。 私はチートの回避策を見つけました:を使用して、マップされた関数内のプロパティを非常にすばやく一致させることができますorg-entry-get。これを実行すると、実行は1秒未満です。これはばかげているようですが、うまくいけばもっと良い方法があると思いますが、少なくともそれはうまくいきます! すでに試してみました:(benchmark 1000 (hw-org-effort-to-minutes "1:20"))戻るので"Elapsed time: 0.000019s"、私の機能はあまり貢献していないと思います。 によるとprofiler、CPU時間の最大40%がによって使用されcond、最大29%が要素の解析に起因しています(org-element--current-element)。次の2つの最大の寄与は14%と13%であるため、40%がcond問題の大部分を占めているようです。ヘッダー(タグ、TODO)とヘッダー+ボディ(プロパティ)の解析のみが異なる場合を除き、プロパティマッチャーを使用して要素の解析がより頻繁に行われる理由がわかりません。

1
org-modeキャプションは、EXAMPLEブロックではサポートされていませんか?
次の自己完結型.orgファイルMVEを検討してください。 #+OPTIONS: toc:nil Figure [[captions-work-for-src-blocks]] shows that captions are correctly exported for SRC blocks. The second figure, in an EXAMPLE block, does not receive an exported caption. Furthermore, cross references to figure [[captions-dont-work-for-example-blocks]] incorrectly resolve to figure [[captions-work-for-src-blocks]]. ----- #+NAME: captions-work-for-src-blocks #+CAPTION: Captions work for SRC blocks #+BEGIN_SRC foo(bar) == …


1
eval-when-compile:defsubst vs defmacro vs define-inline
私はいくつかの単純な関数をinit.elで定義しました、例えばmy-cache-file: (defconst my-cache-directory (expand-file-name ".cache" user-emacs-directory)) ; ~/.emacs/.cache (defun my-cache-file (x) (expand-file-name x my-cache-directory)) ; ~/.emacs/.cache/x (setq savehist-file (my-cache-file "savehist")) (setq backup-directory-alist `(("." . ,(my-cache-file "backups/")))) これはの良いユースケースのように思われましたdefsubst: (defsubst my-cache-file (x) ...) その後、コンパイルについて学び始め、さらに最適化したいと思いました。私は単純に試しました: (defsubst my-cache-file (x) (eval-when-compile (expand-file-name x my-cache-directory))) しかし、コンパイラーは(正しく)フリー変数について不平を言ったxので、代わりに呼び出しコードをラップしました。 (setq savehist-file (eval-when-compile (my-cache-file "savehist"))) (setq backup-directory-alist `(("." . ,((eval-when-compile …

4
Ivyはミニバッファーでコマンドの完了を無効にします
ミニバッファーで1つのコマンドのivy補完を無効にできますか? たとえば、フォルダ〜/ code / study /にいます。検索ファイルを開いてIvyでオートコンプリートすると、 Find file: ~/code/study/ ./ ../ [...] そして私が欲しいのは、1回のジャンプで〜/ other / code / studyに移動することです。オートコンプリートのivyモードがあるので、カーソルを最初の/に移動して、そこにotherと入力することはできません。これは、いくつかの問題を抱えています。このコマンドのために、補完の最初の部分を何らかの方法で編集したり、一時的に補完を無効にしたりできますか? どうもありがとう!
8 files  completion  ivy 

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