Emacs

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

2
autopairとsmartparensの違いは何ですか?
両方autopairとsmartparens自動的デリミタのマッチングペアを挿入するための機能を提供します。 実際には(もしあれば)お互いにどのように違うのですか?これらのパッケージの1つでカバーされ、他のパッケージではカバーされないいくつかのユースケースは何ですか?

3
単はEmacsに表示されません、どのように修正しますか?
日本語の漢字を含むテキストファイルを編集しています。単はEmacsに表示されません、どのように修正しますか?それはある種の空白として現れます。 更新: MacではGNU Emacs 24.3(9)を使用しています。 私を調べた後.emacs、私は実際に他の誰かの設定からコピーして、 (create-fontset-from-fontset-spec "-unknown-Source Code Pro-normal-normal-normal-*-16-*-*-*-m-0-fontset-myfontset") (set-fontset-font "fontset-myfontset" 'han "XinGothic CiticPress") (set-fontset-font "fontset-myfontset" 'kana "HanaMinPlus") (add-to-list 'default-frame-alist '(font . "fontset-myfontset")) しかし、それが何をするのかよくわかりません。一部の漢字では動作しないようです。 アップデート2 私のミニバッファーでHanaMinPlus評価(set-frame-font "HanMinPlus" nil t)し、単スクラッチバッファーで正しく表示されることを確認することで、フォントがその文字を正しく表示できることを確認しました。しかし、上記のコードを微調整/修正して、フォントを自動的に検出および設定する方法を知りたいと思います。Emacsでフォントセットがどのように機能するのかわかりません。だが describe-fontset 与える Fontset: -apple-Menlo-medium-normal-normal-*-16-*-*-*-m-0-fontset-auto1 ないmyfontset。そしてdescribe-font与える name (opened by): -apple-Menlo-medium-normal-normal-*-16-*-*-*-m-0-iso10646-1 full name: Menlo-Regular size: 16 height: 19 baseline-offset: 0 relative-compose: 0 …


2
SLIMEをMITスキームと統合するには?
Common Lispの基本を知っています。私はEmacs + SLIMEを使用してそれを学習しましたが、これら2つがなければ、あまり学習しないと言う必要があります-ベアREPLを使用するのは難しい仕事です。ただし、SLIMEはREPLを対話型プログラミングの優れた環境に変えるのに優れています。 これは言った、私はSICP本でSchemeを学びたい-何か新しいことを学ぶことは常に良いことであり、本は良いレビューを持っている。ただし、SchemeからそのままのREPLに戻りたくありません。そのため、MIT SchemeをEmacs + SLIMEに接続する方法、またはそれをもう少しプログラマーに変換する方法があるかどうかを確認したいと思います。フレンドリー。

2
複数のファイルの予定表タイムラインビューを表示するにはどうすればよいですか?
私はorg-modeをナレッジベースとして使用しています。各ファイルは、自分が取り組んでいる特定のプロジェクト用です。 各ファイルには独自のジャーナルがあり、私が行ったすべてのことをまとめたジャーナルを見たいです。 その情報は.org、特定のディレクトリのファイルの束にあります。 私が探している機能は、議題のタイムラインが提供するものですが、1つのファイルに対してのみ機能します。 それをすべてのファイルで機能させる方法はありますorg-agenda-filesか?

1
yasnippet:文字列からスニペットを展開し、フィールドを認識させる方法は?
Q:yasnippet elispコード内から(スニペットフィールドを認識して)テキスト文字列を正しく展開するにはどうすればよいですか? 非常に単純なスニペットは、いくつかの制御文字が混在した単なる文字列です。elispフォームを使用してよりリッチなスニペットを作成することもできますが、それらを適切に展開する方法がわかりません。 これは問題を捉えた簡単な例です。のorg-modeようなリンクスケルトンを挿入するスニペットを作成しています[[source][description]]。次の簡単なスニペットは、「ソースフィールドで開始し、説明フィールドで終了する」という望ましい動作を生成します。 [[$1][$0]] elispコードをスニペット( `sでラップ)に混在させることができます。ifは単に[[$1][$0]]文字列として評価されるため、次のコードは単純なバージョンとまったく同じ動作を生成すると考えていました。 `(if t "[[$1][$0]]")` ただし、そうはしません。代わりに、$0and $1フィールドがフィールドではないかのように機能し、スニペットを終了し、最後のの後にポイントを配置し]ます。それで、elispフォームがyasnippetフィールドに埋め込まれたテキスト文字列に評価されるときに、どのようにして望ましい動作を得るのでしょうか? 編集:要求されたとおり、ここに質問を引き起こした特定のユースケースがあります。XクリップボードにURLリンクが含まれている場合は、組織リンクのソースフィールド([[ source ] [description]])を入力し、リンク先フィールドをそのままにしておきます。dan-xclipboard-link-p存在する場合はURLを返すヘルパー関数()を使用しますnil。私には次のようなことができるはずです: `(let ((link (dan-xclipboard-link-p))) (if link (concat "[[" link "][$0]]") "[[$1][$0]]"))` 実際、以前のバージョンのyasnippetでは、このコードのバージョンは意図したとおりに機能しました。 編集2:興味深いことに、このスニペットは、Xクリップボードにリンクがある場合は機能しますが、ない場合は失敗します(つまり、$1フィールドとして認識されません)。 [[`(or (dan-xclipboard-link-p) "$1")`][$0]]
7 yasnippet 

1
生成された画像をorg-publishが自動的に公開する方法は?
私はorg-publishを使用してorg-modeファイルのHTMLエクスポートを公開し、同僚とドキュメントを共有していますが、とで多くの図を生成しplantumlていgnuplotます。これらの図は、でファイルをエクスポートするときにリモートサーバーに送信されませんC-c C-e P f。 私の構成は次のようになります: ("org-pastebin" :base-directory "~/org/" :base-extension "org\\|zsh\\|html\\|png" :publishing-directory "/ssh:user@server:~/public_html/org/" :publishing-function org-html-publish-to-html :with-toc t :html-preamble t) 次のようなorg-modeファイルがある場合: * Header Some prose #+BEGIN_SRC plantuml :file my-file.png :results raw ... #+END_SRC #+RESULTS: [[file:my-file.png]] この場合、リンクされたファイル(my-file.png)をEmacsに自動的に公開させるにはどうすればよいですか?プロジェクト全体を公開しても、画像はコピーされません。

2
それぞれ独自のサーバーを持つ複数のEmacsインスタンス?
私のセットアップでは、ローカルマシンで複数の(GNU)Emacsインスタンスを同時に実行しています。現在取り組んでいるプロジェクトまたはタスクごとに1つです。 すでに実行中のEmacsインスタンスで、たとえば次のようなコマンドでバッファを開けるようにしたい $ emacs file.txt これに対する通常推奨される解決策は、Emacsをサーバーモードで実行することです。ただし、デフォルトでは常に1つのemacsclientしかアクティブにできないことを理解しているため、これは複数のEmacsインスタンスの使用と競合します。 既存の(おそらく複数の)Emacsインスタンスでバッファーとしてファイルを開くにはどうすればよいですか?最後の目標は、現在のワークスペース(Compiz)にあるEmacsインスタンスでファイルを開くか、そのようなインスタンスがまだ存在しない場合は作成することです。

2
Helmをデバッグする方法
私は舵取りに問題があるのでdebug-on-error、問題の特定に努めました。これで問題が発生するたびに、*Backtrace*バッファーは期待どおりに表示されますが、私はまだヘルムの主要モードの1つであり、バックトレースバッファーをナビゲートして正常にデバッグすることができません。 メジャーモードはまだミニバッファーを使用しており、キーシーケンスを "盗用"してデバッグを妨げているようです。helm-mulit-occur進行中を終了すると、バックトレースバッファーがクリアされ、デバッグを続行できません。 elispデバッガーを実行したままメジャーモードを「一時停止」して、通常どおりデバッグできるようにする方法はありますか?
7 helm  debugging 

1
ERCがニックネームに `を付けるのはなぜですか
奇妙なことに、ERCを使用してfreenodeにログオンしようとすると、ニックネームに `が追加され、サーバー上で名前が見つかりません。メッセージバッファに次の出力が表示されます。実際のニックネームをニックネームに置き換えました。 Connecting to irc.freenode.net:6667... ...done Logging in as 'nickname'... Logging in as 'nickname`'... done OS XのEmacs 24.3.5.1でERC 5.3を使用する
7 erc 

3
変数が更新されるタイミングの追跡
org-modeの議題ビューに問題があります。私が最終的にスピンアップしたときに常に設定org-agenda-filesしましたが'("~/org/")、それは1つの組織ファイルを指してM-x org-agendaいるorg-agenda-filesだけです。明らかに、最後に表示したorg-fileを含めるだけで何かが決定していますが、何を処理するのに苦労しています。この変数が変更されたときにトラップして、何らかのバックトレースを表示または記録する方法はありますか?

2
定期的でない、またはスケジュールされていないすべての組織モードTODOを表示するにはどうすればよいですか?
毎週、私が見逃した予定のあるTODOがないことを確認するようにしています。そこで、すべてのTODOエントリのリストを調べます(C-c a t)。これは素晴らしい; 開いているTODOのみが表示されるので、すでに行ったすべてのことをスキップして時間を無駄にする必要はありません。 しかし、実際には、すべてのTODOのリストは必要ありません。何かがスケジュールされている、または繰り返し発生する場合、このリストに表示したくありません。欠けている可能性のあるものだけを表示したいのですが、明日予定されている2日ごとに繰り返されるものを見逃していません。 で実行org-agenda-filter-by-tagすることはできますが/、スケジュールされたステータスまたは繰り返しのステータスでフィルタリングできないか、そのように使用する方法がわかりません。押したときに表示されるタグのリストにTAB「予定外」などのものが含まれていないことを考えると、これは私が望むツールではないと思います。 したがって、考えられる解決策は2つあります。私は最初のものを好みますが、2番目のものを使用することもこの問題の考えられる解決策です。 スケジュールされていないすべてのオープンTODOを表示するにはどうすればよいですか? 定期的でないすべての開いているTODO(スケジュールされているかどうかに関係なく)を表示するにはどうすればよいですか?

1
改行を挿入すると、syntax-propertize-functionで強調表示が中断されるのはなぜですか?
三重引用符で囲まれた文字列を強調表示するメジャーモードを記述しようとしています。次に、最小限の再現可能な例を示します。 (defconst demo-triple-quoted-string-regex (rx "\"\"\"" ;; After the delimiter, we're a sequence of ;; non-backslashes or blackslashes paired with something. (*? (or (not (any "\\")) (seq "\\" anything))) "\"\"\"")) (defun demo-stringify-triple-quote () "Put `syntax-table' property on triple-quoted strings." (let* ((string-literal (match-string 0)) (string-start-pos (- (point) (length string-literal))) (string-end-pos (point))) (unless …


3
一部のコマンドがミニバッファーを終了するときに終了する(isearch)一方で、終了しないコマンド(find-file)があるのはなぜですか?
時々、ファイルを開き始め、何らかの理由でファイルを選択するC-x o前に、プロンプトに答える前に実行します。その後、私がもう一度実行しようとするたびにfind-file、Commandがminibufferにいる間にminibufferを使用しようとしたことについて不平を言います。ただし、のようなコマンドを使用したisearch-forward-regexp場合(すでにfind-fileプロンプト内にある場合でも)、エラーはスローされず、を使用してミニバッファーに戻すことはできませんother-window。 一部のプロンプトがミニバッファーを一時的にアップグレードしother-windowて、ミニバッファーを可能なターゲットとみなすプロンプトとそうでないプロンプトがあるのはなぜですか? 明確にするために、私は行き詰まる方法を尋ねているのではありません。 もともとこれに遭遇したときは、ミニバッファーに切り替えてプロンプトをエスケープするEsc Esc EscかC-g、エスケープして、ミニバッファーを使用する新しいコマンドを開始できるようにしました。ただし、この質問について熟考すると、abort-recursive-edit(C-])がother-window+ を実行しなくても、進行中のこのミニバッファーを閉じることがわかりましたkeyboard-quit。 それでも、元のユースケースが何のためにあるのかはよくわかりません。おそらく、それはミニバッファープロンプトへのコピー貼り付けや、マクロの途中でのコマンドの実行を支援するためのものですか? 私が知りたいのは、この再帰性を無効にする方法があるかどうかですisearch。でisearch、それは、ブロッキングプロンプトの代わりに、読み取りイベントを使用しているため安全ですか?abort-recursive-editミニバッファーを終了するときにトリガーするフックはありますか? TL; DR 一部のミニバッファーコマンドがミニバッファーをのターゲットにアップグレードし、other-window新しいミニバッファーコマンドの実行をブロックするのに対し、などの他のコマンドisearchはそうしないのはなぜですか? これを無効にする方法はありますか? この機能の使用目的は何ですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.