問題タブ [elisp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
6 に答える
1792 参照

html - HTML を生成するための Emacs Lisp ライブラリはありますか?

Franz の htmlgen のように、ネイティブの Emacs Lisp コードを記述し、コンパイル時に HTML に変換できるソリューションを探しています。

もちろん、自分でマクロを書くこともできますが、この問題に関するプロジェクトがあれば興味があります。

0 投票する
3 に答える
1156 参照

emacs - 実行中の Emacs Lisp プログラムにブレークポイントを設定する

ubuntu ディストリビューションから取り出した Emacs Lisp パッケージに問題があります。パッケージは JDEE で、ファイルを開くたびにArgs out of range: "63", 0, 4ミニ バッファーとバッファーでエラーが発生します。*Messages*このバグは昨年 9 月に報告されたようですが、対策は講じられていません。私は自分で Elisp コードを書いたことがあるので、emacs の初心者ではありませんが、このようなものをデバッグしようとしたことはありません。このエラーが発生したときに、デバッガーでファイルの読み込みを停止して、少なくとも問題の原因を突き止めたいと考えています。「エラー時にデバッガーに入る」に関する Elisp マニュアルのセクション 18.1.1 を読みましたがdebug-on-error、 、debug-ignored-errors、およびの値のさまざまな組み合わせで遊んだ後にファイルをロードしようとしました。debug-on-signal効果がないようです。私の次のステップについて何か提案はありますか?

0 投票する
6 に答える
5958 参照

emacs - Emacsモード:「コマンドがミニバッファー内でミニバッファーを使用しようとしました」

シナリオ:

  • コマンドを入力するためにMxと入力し始めます
  • 間違ったウィンドウでコマンドを実行していることに気付いたので、別のemacsウィンドウ/バッファーに切り替えました
  • 正しいウィンドウでコマンドを実行するために、もう一度Mxと入力し始めます

結果:「コマンドがミニバッファー内でミニバッファーを使用しようとしました」という恐ろしい結果が表示されます

これは、このシナリオだけでなく、emacsを使用しているときに1日に複数回発生します。The Humane Interfaceこの動作は非常にユーザーに敵対的です( Jef Raskinによるモードと疑似モードを参照)

このエラーを出す代わりに、最初のミニバッファーをキャンセルして新しいミニバッファーに置き換えるように、emacsの動作をカスタマイズする方法はありますか?

0 投票する
4 に答える
2898 参照

emacs - Emacs:gudとpdbがウィンドウを制御できないようにする

私はpdbを使用してPythonプログラムをデバッグしていますが、その動作に不満があります。

画面を複数のemacsウィンドウに分割し、pdbを実行すると、ウィンドウの1つが* gud*デバッガーの出力に(ランダムに?)置き換えられます。

また、ブレークポイントが検出されると、デバッグバッファーがウィンドウに既に表示されている場合でも、通常、このバッファーは別のウィンドウに配置され、別のウィンドウがソースファイルの内容に置き換えられます。(ちなみに、ソースファイルの正しい行にジャンプするのが好きです)

gud / pdbがウィンドウを管理できないようにするにはどうすればよいですか?emacsでウィンドウと画面レイアウトのすべてのプログラムによる操作を防ぐことは可能ですか?

編集:私は別の投稿でこれを部​​分的に解決する答えを見つけました:専用ウィンドウを切り替えます

0 投票する
15 に答える
14847 参照

emacs - 起動時にWindowsでEmacsを最大化するには?

これは私を夢中にさせます: Emacs を起動時の画面解像度に合わせて最大化したいだけです。理想的には、あらゆる画面解像度で動作するクロスプラットフォーム (Windows & Linux) ソリューションが好きですが、ハードコードされたサイズでも Window XP だけでは動作しません。

ここに私が試したものがあります:

  1. 適切な高さ/幅で initial-frame-alist を設定する
  2. default-frame-alist の設定
  3. (Windows 固有のもの) emacs ウィンドウにメッセージを送信して、最大化するように指示します。(w32-send-sys-command 61488)
  4. どこかで見つけたこの機能を試しました:

    /li>
  5. init ファイルの最初と最後で上記の方法を試し、他の init からの干渉を排除しようとしました。

残念ながら、上記のどれも機能しません!! 上記のいくつかについては、私の emacs ウィンドウのサイズが一瞬だけ正しく変更されてから、小さいデフォルト サイズに戻ることがわかります。初期化後に上記の方法を実行すると、emacs ウィンドウは正しくサイズ変更されます。ここで何が起こっているのですか?

[psこれには他にもSOの質問がありますが、どれもうまくいきません]


アップデート:

答えを見ると、init ファイル内の他の何かが問題を引き起こしていると思います。そして確かにそうです!試行錯誤の末、犯人を見つけました。次の行をコメントアウトすると、すべてが完全に機能します。

ツールバーは、ウィンドウの最大化と一体何の関係があるのでしょうか?

問題は次のとおりです。ツールバーを無効にするにはどうすればよいですか (結局のところ、emacs のツールバーは見苦しく、貴重な画面領域を占有します)、両方の init ファイルでウィンドウを最大化するにはどうすればよいでしょうか? ツールバーがウィンドウのサイズに干渉するのはおそらくバグですか?

明確化: (tool-bar-mode -1) はツールバーをオフにしますが、この行は Emacs ウィンドウの最大化を妨げます。したがって、ウィンドウを最大化してツールバーをオフにする関数を配置しようとすると、最大化部分が失敗します。ツールバー部分がコメントアウトされている場合、最大化部分は正常に機能します。私がどのソリューションを使用するかは問題ではありません (私がリストした 4 つの中で)。


解決策:(または少なくとも今私にとって何がうまくいくか)

これはおそらく Emacs のバグです。回避策は、.emacs ではなく、レジストリからツールバーを無効にすることです。以下を .reg ファイルとして保存し、そのファイルを Windows エクスプローラーで実行します。

(このソリューションは、OtherMichael が提案したものの実用的なバージョンです)。

0 投票する
2 に答える
1340 参照

emacs - 大きなXMLファイルを扱うEmacs

多くの場合、非常に単純な構造を持つ大きな XML ファイル (> 100 MB) を読み取る必要があります。emacs を使いたいのですが、大きなファイルをうまくサポートしていません。私は、SAX または StAX の解析を実行し、必要なすべての操作 (検索など) を提供できる Java アプリケーションを使用できるのではないかと考えています。emacsと外部Javaアプリケーションの間で通信する「正しい方法」は何ですか?

0 投票する
4 に答える
1112 参照

emacs - Emacs Lisp 関数でウィンドウを分割する

編集中の現在のファイルに対してシェル コマンドを実行し、シェル コマンド出力ウィンドウに出力を表示できるようにしたいと考えています。以下に示す関数を定義できました。

唯一の問題は、出力ウィンドウがまったく前面に表示されないことです。私がやりたいのは、ウィンドウが分割され、そこに出力ウィンドウが表示されることです。また、ここで関数を .emacs ファイルに配置するように定義していますか、それとももっと良い方法がありますか?

どんな助けでも大歓迎です。ありがとう。

0 投票する
4 に答える
1012 参照

version-control - Emacs:diffからスケルトンChangeLogを生成する方法はありますか?

バージョン管理でソースコードを操作するときに、GNUスタイルのChangeLogエントリの作成を部分的に自動化したいと思います。はadd-changelog-entry-other-window一度に1つのファイルで動作し、使用するにはファイルにアクセスする必要があります。

代わりに私が見たいのは、の出力を受け取るdiff -u -p(またはVCモードと統合して処理できるようにするsvn diffなど)コマンドを用意し、すべてのスケルトンエントリを一度に作成することです。

たとえばsvn status

コマンドは作成します

さらに良いことに、変更されたファイルを一部の言語である程度解析して、次の機能を提供できる場合は、次のようになります。

この機能はEmacsのマニュアルで見つけましたが、ここでどのように適用できるかわかりません。

助言がありますか?ありがとう。

編集:1つの答えはvc-update-change-logを提案しました。残念ながら、それはCVSのみをサポートし、すでにコミットされたVCログを照会することによってChangeLogエントリを作成します。したがって、svnなどをサポートしていても、変更とChangeLogを同じコミットでコミットすることはできません。

EDIT2:どうやらadd-changelog-entry-other-window(Cx 4 a)は、訪問したファイルからだけでなく、そのファイルを含む差分ハンクからも機能するようです。(出典)これはほとんど私が探しているものです。これは、すべてのハンクを反復処理するelispループと一緒に解決する必要があります。

0 投票する
4 に答える
4589 参照

emacs - Windows の Emacs 内から Caps Lock を Control にマッピングする

これらの 質問のいずれか、またはWindows の emacs で Caps Lock を Control にマッピングすることに関するEmacsWiki の記事を読むと、最善の答えはレジストリに関係しているようです。私の質問は、管理者権限がないためにマシンのレジストリを変更できない場合にユーザーができることです。emacs 内からマッピングを行う方法はありますか? この記事は、「人々が言及したように、もちろん、Caps-Lock を代わりに他のキー、たとえば Control キーにマップすることもできます」とさえ言っています。しかし、次のようなことを試して、コントロールキーを表す方法を理解できません(かなり包括的に見えるが、Windows中心ではない可能性のあるさまざまな参照を使用)

動作しないようです。

0 投票する
5 に答える
1813 参照

emacs - Windows上のEmacsでクリップボードの内容を保存するには?

これは、私が数回遭遇したシナリオです。

他のプログラムからテキストをコピーします。Emacs に移動し、テキストを貼り付ける/ヤンクする前にいくつかの編集を行いました。Cy をヤンクしてほら、貼り付けるつもりだったテキストではありません。その後、移動中に kill- などのコマンドを使用したことに気付きました。行と後方キル単語、およびそれらの削除された行と単語が現在キルリングを占めていました。ただし、「My」と入力してもコピーした元のテキストは返されないため、元のプログラムに戻ってテキストを再度コピーする必要があります。さらに最悪の場合、元のプログラムが閉じられていると、コピーしたテキストが完全に失われます。

キルラインなどは基本的なコマンド (削除キーを押すようなもの) であり、それらのコマンドを使用することでキルリングが少し乱雑になることは気にしませんが、元のテキストはどこかに残っていると思います。 My を数回入力して、最終的に見つけることができるようにします。クリップボードの内容をオーバーライドする前に、Emacs が現在のクリップボードの内容をキルリングに自動的に保持するようにするにはどうすればよいですか?