Emacs

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


3
開いている(表示されている)バッファー/ウィンドウのテキストを強調表示—あるバッファーから別のバッファーのテキストを検索
現在、Emacsフレームを垂直方向に分割し、2つのウィンドウで2つの異なるバッファーを表示しています。 1つのバッファ内の単語に移動し、いくつかのキーを押して、その単語(ある場合)の出現を他のバッファで強調表示し、必要に応じてその単語までスクロールします。 それを行う方法はありますか? 上のスクリーンショットでは、カーソルが左側のバッファの「bar」の直前にあるので、<何か>を実行して、右側のバッファの「bar」がどこにあるかをすばやく確認できます。 注:これは、複数の開いているバッファからテキストを検索する方法に関連していますか?その意味で、もし私が「他の」バッファを横切ってisearchを実行できたなら、それは私が望むことをするでしょう。しかし、私が望んでいる答えはまったくありません。 occur私は維持したいと思いながら、ベースのソリューションでは、ショーは行に一致することを新しいウィンドウを開いて、私の2つのウィンドウがまだ表示された-私は実際にコンテキストの他のバッファに探してするつもりだ周りにこれだけマッチラインを示し、一致あまり役に立ちません。 multi-isearch-buffersこの検索を実行するたびに(何度も)バッファのリストを指定する必要がありますが、表示された2つのバッファとして自動的に取得するのではありません。さらに重要なことは、一方のウィンドウから開始してisearchを実行すると、もう一方のバッファーで一致が見つかると、そのバッファーがこのウィンドウに表示され、両方のウィンドウに同じ(他の)バッファーが表示されます。その後、Cgはすべてを元に戻し、もう一方のバッファーで強調表示された単語が見えなくなります。 icicle-search には非常に多くの機能があり、そのうちの1つでこれを実行できる可能性がありますが、ドキュメントをざっと見てみても何も見つかりませんでした。
8 buffers  search 

2
バッファを編集しないキーストロークを検出するにはどうすればよいですか?
バッファを編集しないキーストローク(フックなど)を検出する最良の方法は何ですか?つまり、ポイントモーションの矢印キー、への呼び出しbeginning-of-bufferなどです。 その理由はycmd、emacsのバインディングに取り組んでおり、ユーザーが編集を停止してバッファー内を移動していることを(少なくともヒューリスティックに)検出できるようにしたいためです。これは、解析のためにバッファの内容を出荷する良い機会です。vimクライアントは、ユーザーが挿入モードを終了したときにこれを実行し、私はその動作をエミュレートしようとしています。


2
数式で最後に使用した下付き/上付きの値を自動挿入する
組版の数学テキストにはAUCTeXを使用しています。合計、積分などがすべて同じ下付き文字または上付き文字の方程式を入力しなければならないことがよくあります。現在の下付き文字/上付き文字を以前の値で自動入力したいのですが。例: \sum_{i=1}^{\infty} a_i = \sum… _上記の方程式を押すと、Emacsは次のように書くはず_{i=1}です。オプションで、2番目の上付き文字も入力されているとよいでしょう。 これはどのように実現できますか?
8 latex  auctex 

1
comint派生モードはどのようにバッファーとプロセスを追跡する必要がありますか?
いくつかのカスタムcomint派生モードを記述した後、バッファーとプロセスを追跡する方法を決定するのは難しい場合があります。たとえば、異なるソースバッファーを異なるインタープリターに関連付ける場合などです。バッファまたはプロセスへの参照を保持する方が良いですか? バッファを指定すると、関連するプロセスをを使用して見つけることができますget-buffer-process。逆に、プロセスが指定されると、process-bufferそれに関連付けられたバッファーを返します。バッファとプロセスのどちらも、一意の名前でそれらを検索することにより、間接的な追加の層を許可しますが、オブジェクト自体への参照を保持するだけに比べると、これは脆弱に見えます。 データを1回だけ格納するという原則に違反しているため、1つの可能性は明らかに悪いように見えます。つまり、バッファとプロセスの両方への参照を保持しています。 comint-入力を送信するためのほとんどの関数は、引数としてバッファではなくプロセスを受け取ります。これは、バッファではなくプロセスオブジェクトに依存することを主張します。一方、バッファはプロセスよりも長く留まる傾向があります。プロセスが終了するか強制終了され、以前使用していたバッファで新しいプロセスが開始される場合があります。 プロセスまたはそのバッファを参照するための他の説得力のある引数はありますか?

1
「タグ補完テーブルの作成」フリーズ/ブロック—無効にする方法
TLDR:セッションごとに複数回読み込まれる大きなタグファイルがあり、使用できません。問題の原因またはそれを無効にする方法を見つけることができません-主な目的はタグにジャンプすることですが、完了が良いでしょう 私は最近emacs subredditに投稿しましたが、初心者にも優しいため、このグループに参加することをユーザーが勧めています。 私はemacsをC ++ IDEとして使用しており、煩わしいものをゆっくりと修正しています。私は本質的にredguardtooのemacs.dファイルを使用しています。 225MB(1.6Mタグ)のタグファイルがあります。このタグの目的は、必ずしも(を使用してcompany)完了することではなく、ソースコードをジャンプすることです。慣れていないコードベースを使用していて、マクロまたはクラスの定義を確認する必要があることがよくあります。 入力を開始すると、ランダムなタイミングで、ミニバッファーにメッセージが表示されます Making tag completion table for [tag file]...0-100% 次に、ポップアップリストボックスにオートコンプリートオプションが表示されます。 このタグファイルは非常に大きく、タグの読み込みが非同期ではないように見えるため、emacsが約1分間フリーズします。これは、セッションごとに複数回発生します(同じファイル、および同じタグファイルを使用する同じディレクトリ内の他のファイル)。 ご質問 完了のためにタグテーブルのロードを初期化しているものとそれを無効にする方法を誰かが知っていますか?emacs.dディレクトリで「タグの完成」のためにgrepを実行しましたが、何も見つかりませんでした(IIRCは、companyまたはauto-complete 完成はいいですが、タグの場所にジャンプする機能だけで解決します。これを取得する方法はありますか? このような問題に取り組むときの考え方は何ですか?次回はさらに自分でトラブルシューティングできるようにしたいと思います。 追加情報 有効なマイナーモード(Ch m) Enabled minor modes: Abbrev Auto-Composition Auto-Compression Auto-Encryption Blink-Cursor Column-Number Company Desktop-Save Display-Time Electric-Indent Electric-Pair Evil Evil-Local Evil-Matchit Evil-Surround Fic File-Name-Shadow Flyspell-Lazy Font-Lock Ggtags Global-Auto-Revert Global-Company Global-Eldoc …

1
init-fileで古い変数を自動的に特定する
Emacsの新しいバージョンがリリースされると、通常、一部の変数/コマンド/関数が廃止されます。それらは通常、対応するドキュメントでそのようにマークされています。 turn-on-eldoc-mode別名であるeldoc-modeの中でeldoc.el。[...] この関数は24.4以降廃止されました。eldoc-mode代わりに使用してください。 init-fileで古い変数を参照していないことを確認したいのですが、手動で全体をチェックすることも避けたいです。 だから私の質問は:init-file内のすべての廃止された変数を自動的に識別する方法はありますか?
8 init-file 

2
* vc-log *バッファーがEmacs 24.4の「Summary:」で始まるのはなぜですか?
Emacs 24.4(24.3から)にアップグレードしました。ここでvc-next-action、変更されたファイルで実行すると、表示される*vc-log*バッファは「Summary:」という単語で始まりlog-edit-header、その後に反転ビデオの行が続きます。 これは24.3では起こりませんでしたが、NEWSでそれについて何も見つけることができません。どうしたの?これはGitとSubversionの両方の作業コピーで見られます。

2
ファイルをすばやくプレビュー
この質問と同様に、カーソルをファイルの上に置くだけでツール/マイナーモードでファイルをすばやくプレビューできます(たとえば、現在選択されているファイルがアクティブなバッファーウィンドウに表示されます)。憂鬱な出来事は気にせず、オーバーレイもしたくない。選択されている場合は、アクティブウィンドウに表示します。Enterキーを押してバッファに切り替えるのが遅すぎるため、生データファイルの束をざっと見ることができません。どうすればこれができますか?

1
どの組み込みemacsパッケージが「必要」である必要があるかをどうやって知ることができますか?
emacs 24.4(C-hn)の変更ログを読み、ファイル通知機能とは何かを確認しようとしました。C-hv関連する変数を試してみましたauto-revert-use-notifyが、何も表示されませんでした。 次に、emacsソースコードでその変数名をgreppingしたところ、それがで使用されていることがわかりましたlisp/autorevert.el。実行後(require 'autorevert)、すべての基本的な関数と変数が定義されました。 質問:どのように私は知っているならば、私はに必要なものかrequire、私は組み込み機能、その後不活性のemacsを使用したい場合は?そのようなパッケージのリストはありますか?
8 package 

5
検索結果で検索するにはどうすればよいですか
C-s検索できるとき。たとえばC-r、いくつかの事前定義された検索クエリの結果を検索できるようにバインドできる関数をどのように実行すればよいですか? ウィンドウの内容と同様に: function xyz(a, b) return a + b end 私はできるC-M-sとにfunction.*クエリと結果は次のようになりますようfunction xyz(a, b)。 クエリを入力してそれらの結果を検索できる機能が必要です(自動的に生成されます)。 更新 解決策をありがとうございました。occur、helm-occurまた、非常にうまく動作しますが、彼は、私は完全に私の質問に答えるために必要なコードを提供するので、私はジョーダンビオンドの答えを受け入れています。

2
Emacs org-modeがマスターファイルを要求するのはなぜですか?
.orgEmacsはファイルを開くときにマスターファイルを要求します。 それはなぜですか、またこの機能を無効にするにはどうすればよいですか? 私はそれが理由のようにラテックス関連のパッケージを使用するのである推測ox-latexしてox-beamer。 ファイルのマスターファイルを.orgラテックスモード固有にするか、完全にオフにする方法はありますか? ありがとう。
8 org-mode 

2
バッファをリビジョンと比較するにはどうすればよいですか?
ediffを実行して、ファイルの現在のバージョン(git内)を別のブランチ上のファイルのバージョンと比較したいと思います。 M-x ediff-revision問題のファイルのオープンバッファー内から実行します。私は2つの質問に答えます。 ファイルのリビジョンを比較する:私はこの回答を空白にします(デフォルトは現在のバッファーで、これが正しいものです)。 比較するリビジョン1:デフォルトを再び受け入れます(「デフォルトファイルの最新バージョン」)。 比較するリビジョン2:gitブランチ名を入力します これは、2つのファイルの違いを表示するのに最適です。ただし、現在のバージョンを編集できるようにしたい(つまり、diffのブロックをコピーまたは削除するためにヒットaまたはbediffで)、「現在のバージョン」のバッファーは、製造名(file.~git-branch~)の読み取り専用バッファーです。「現在のバージョン」のバッファを、現在のブランチのバージョンの読み取り専用バッファではなく、最初の読み取り/書き込みバッファにしたい。

2
WindowsタスクバーからEmacsを実行する
Windowsでプログラムを切り替えるには、通常、Windowsキーと数字キーを使用して、タスクバーからプログラムを実行します。ほとんどのプログラムは実行を開始するか、すでにインスタンスがある場合は、それをフォアグラウンドに移動してそれに焦点を当てます。ただし、Emacs(runemacs.exeで始まる)はタスクバーに新しいエントリを作成し、ショートカットを再度使用すると、新しいインスタンスが作成されます。私の知る限り、Emacsコマンドを使用して異なるフレームを切り替えることすらできません(Cx 5 oを試しました)。 それを行う方法はありますか?ウィンドウホットキーの以降の使用はEmacsの既存のインスタンスを使用するだけであり、そうでない場合、少なくとも異なるフレーム間を簡単に移動できるようにすることができますか?私はこのスニペットを試しました: (require 'server) (unless (server-running-p) (start-server)) この質問の答えからですが、違いはありませんでした。

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