Emacs

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

2
抜かれたときにのみバッテリー情報を表示しますか?
display-battery-mode はバッテリー情報を表示しますが、コンピューターのプラグが抜かれ、バッテリー電源が切れているときにのみ使用したいと思います。 電源モードに応じて表示モードを設定する方法はありますか? モードラインで温度を報告することもできますか?
8 mode-line 

3
AUCTeXのマルチファイルプロジェクトを検索して置換しますか?
私は、LaTeXドキュメントを含め、私が書いているすべてのもので使用する唯一のエディタとしてEmacsを採用しようとしています。私はその目的にかなり役立つWYSIWYGエディター、つまりTexStudioまたはTXSから来ました。TXSからEmacsへの移行について、TXSが大規模な正規表現クエリ検索を実行する方法と、プロジェクトに関連する.texファイルのみへの検索の一致と制限を強調表示に置き換える方法がまだありません。Emacsで今はそれがとても恋しいです。以下のTXSのスクリーンショットを参照してください。 マルチファイルLaTeXプロジェクトでのTeXStudioクエリ Emacsで実現するワークフローのポイントを強調したいと思います。 RegExpクエリの検索と置換は、プロジェクト関連の.texファイルでのみ行われます。 試合のハイライト ハイライト表示された結果の概要をまとめて扱いやすいレイアウトで表示します(MagitEmacsでを押しlて別のキーを押すlかC-x d、Diredモードと同じように 押すと、ログビューに似ています) 実行された、または残った置換または検査の一致の量を知る方法、およびクエリを停止する不器用なキーストロークによってクエリが壊れた場合にクエリを再開する方法 すべての関連ファイルを閉じて保存し、このクエリを呼び出す前の状態に戻すことにより、この乱雑なクエリをクリーンな方法で解消します 私はこの投稿を読みましたが、私の意図はCW、誰もが彼の最良のワークフローを共有して、この一般的な仕事を成し遂げることができるようになることです。私の現在のアプローチは次のとおりです: 最初のワークフロー Diredモード% gは、その正規表現を含むすべてのファイルをマークします。短所:これには、非.texファイルを含む、プロジェクトに関係のないファイルも含まれます。 C-x 3 新しいバッファで個別に照会する必要のあるマークされたファイルの方向の概要として最初のバッファを監視しながら、新しいバッファを開きます によるクエリの実行C-c q。確認!せずにすべてを置き換えるなどの非常に優れたスイッチがあり、開いているファイル内の一致を強調表示します。しかし、これはマークされたすべてのファイルに対して毎回同じクエリを実行する必要があることを意味します。 マークされたすべてのファイルを実行した後C-x s !、1回のキーストロークですべてを保存するためにヒットしました。ふew! 2番目のワークフロー-推奨 .texファイル% mのみをマークするために、direxpモードでregexp を使用してすべてのファイルにマークを付けると.tex、基本的に実行\.texすると、そこに移動します。 C-x 3 上記と同じように、1つのバッファを概要用に、もう1つのバッファをクエリ用に保持します QクエリであるDired内で実行すると、マークされたファイルでのみ正規表現を置き換えます。あるいはA、正規表現検索クエリのみです。本格的なクエリが実行され、ヘルプメニュー?が提供さ れます C-x s !すべての混乱を保存して閉じます。そうしないと、開いているファイルを1つずつ閉じなければならず、面倒です。私たちが気になったものだけを閉じる方法があるといいのですが。 マルチファイルでTXSの正規表現検索/置換クエリを概算するにはどうすればよいですか? 注意 Windows 7上のEmacs 24.4


1
すべてのUnicodeグリフに単一のフォントを強制する
OS XのGUIでGNU Emacs 24.4.1を使用しています。Emacsがおそらく最も適切なものを選択できるようにするのではなく、単一のフォントだけを使用してすべての文字を強制的に表示したいのです。すべてのグリフを含むフォントはないことを理解していますが、多くの優れたフォントで十分にカバーされるUnicodeの限定サブセットを使用しています。 unicode-fontsパッケージを使用して文字の範囲のフォントを設定することについて多くの話を見てきましたが、すべてのブロックを個別に設定するために私の設定に1000行を追加したくありません。 Emacsが異なるグリフを異なるフォントに自動的にマッピングしないようにするにはどうすればよいですか? ありがとう。
8 fonts  unicode 

4
非同期シェルプロセスバッファーは常にウィンドウの配置を覆います
私はM-!、FirefoxやEvinceなどのを使用してemacsから外部プログラムを頻繁に起動します。実行するたびに、バッファがプロセスの結果でいっぱいにポップアップします。これにより、ウィンドウの配置に関して私が行っている他のことはすべて破棄されます。 デフォルトでそのようなバッファを埋める方法はありますか?そうすれば、バッファを探しに行くことに決めない限り、それらを見る必要はありませんか?
8 window  shell  async 

2
ラムダをデエイリアスする方法は?
私は私の.emacsにこれを持っています: (defalias 'λ 'lambda) これは、のような単純なものでは問題なく機能し(funcall (λ (x) x) 1)ます。 しかし、(org-add-link-type "foo" (λ (s) (message s)))またはのようなことをすると(add-to-list 'auto-mode-alist '("foo" . (λ () (message "bar"))))、それは機能せず、 org-open-at-point:無効な関数:(λ(s)(message s)) そして ファイルモード指定エラー:(無効な機能(λnil(メッセージ "bar"))) それぞれ。 誰かがここで何が悪いのか知っていますか?
8 elisp 

2
特定のバッファでのみ空白モードを有効にする
組織モード以外のすべてのバッファで空白モードをオンにしたいのですが。emacsの起動時にこれを行うのは簡単ですが、私はemacsの永続的なコピーをemacsデーモンモードで使用しているため、そのようにすることはできません。 私は試した: (require 'whitespace) (setq whitespace-line-column 80) (setq whitespace-style '(face lines-tail)) (global-whitespace-mode t) (add-hook 'org-mode-hook (lambda () (visual-line-mode 1) (auto-fill-mode -1) (setq whitespace-style nil))) しかし、org-modeバッファーにアクセスするとすぐに、将来のすべてのバッファーに空白モードがなくなります。 他のメジャーモードで空白モードをオンにするフックを追加することを考えましたが、他のすべての可能なモードを列挙したくないので、これは悪い方法のように思えます。 ホワイトスペースモードとグローバルホワイトスペースモードがあることは知っていますが、これをどのように使用してここを助けることができるかはわかりません。 これを達成するために私が考えていない他の方法はありますか?

2
org-babelセッションを強制的にリセットまたは初期化するにはどうすればよいですか?
次のバベルシェルブロックを実行すると #+BEGIN_SRC sh :session one :results output ssh staging #+END_SRC #+BEGIN_SRC sh :session one :results output hostname #+END_SRC ORGと呼ばれるシェルバッファを作成しone実行、ssh stagingおよびその後接続した後、実行hostnameステージに。ただし、sshコマンドを微調整して再度実行すると、ステージングホストからセッション1内から実行しようとします。バッファを閉じるoneと、次回そのセッション名でコマンドが実行されるときにセッションがリセットされ、再作成されます。私が見つけることができなかったのは、特定のバベルブロックに常に新しいセッションを初期化させる方法です。 一部の言語(特にelsp)では、これが不可能であることを認識しています。セッションの先頭にを含むelispブロックを付加できると思い(kill-buffer "one")ますが、可能であればこれをヘッダー引数にしたいと思います。この例では、セッションなしで2つを1つのブロックに単純に結合できることも知っていますが、もっと複雑なシーケンスに興味があります。 すべての呼び出しでそのブロックに新しいシェルを初期化させる:prologueコマンドまたは他の特別な引数はあり:sessionますか?

2
url-retrieveからのコールバックにおける「変数としてのシンボルの値はvoid」
次を実行すると、エラーが発生します。 (defun caller (func) (url-retrieve "http://m0smith.freeshell.org/" (lambda (status) (funcall func)))) (caller (lambda() (message "called"))) 結果: error in process filter: Symbol's value as variable is void: func この問題を解決する最良の方法は何ですか?基本的に、どこかからのコールバックを受け入れ、別のラムダでラップし、それをurl-retrieveへのコールバックとして使用する必要があります。 発信者をに変更した場合 (defun caller (func) (url-retrieve "http://m0smith.freeshell.org/" `(lambda (status) (funcall ,func)))) できます。ただし、funcがflycheckによって渡されており、マクロ展開によって中断されるため、これを行うことはできません。私がやっていることの完全なコンテキストを確認するには:https : //gist.github.com/m0smith/b5961fda6afd71e82983

1
多くのエスケープ文字を含む文字列を編集する
設定ファイルを編集していて、次のような非常に長い文字列があるとします。 (setq my-string "very\nlong\nstring [...] \"hello world\"") エスケープ文字なしで(そしておそらく別のモードで)文字列を編集し、エスケープ文字を使用して結果を構成ファイルに保存するにはどうすればよいですか?

1
バッファ変更状態にフックする方法は?
mode-line-modifiedバッファが変更された場合にモード行にアスタリスクを表示する組み込み変数など。 具体的にhl-line-modeは、バッファーが変更されている場合はオフに、変更されていない場合はオンにしたいと思います。 「フックの変更」に関するドキュメントを読みましたがhl-line-mode、モードラインのアスタリスクのように変更を取り消すときに切り替えたいのですが。

4
Ibufferから選択したバッファーまたはdiredから選択したファイルでキーボードマクロを実行するにはどうすればよいですか?
変数名のリファクタリングを行う必要がある場合は、agとmultiple-cursorsを使用します。 しかし、コードブロックの削除/追加/移動を行う必要がある場合は、キーボードマクロを使用します。しかし、各バッファに切り替えて、手動でマクロの実行を開始する必要があります。 Ibufferから開いているバッファー(またはdiredからファイル)を単純に選択し、最後に記録されたキーボードマクロをそれらすべてに対して実行する方法はありますか?

3
独自の行の閉じ括弧は受け入れられませんか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前休業。 私はかなり長い間Emacsを使用してきましたが、最近、コーディング標準に出くわしました。そこにはそれが述べられています: 自分で行に閉じ括弧を付ける習慣をつけないでください。Lispプログラマーはこれを当惑させます。 これは、コードを読みやすくするために、私が構築した習慣とまったく同じです。Emacsで提供されるパッケージに混合スタイルが表示されます。私の質問は、この混乱がほとんどのelispプログラマに共通しているかどうかです。 編集:私のコードを見て、私は厳密にこれに従っていません。次に、コードはかなり恐ろしいでしょう。ほとんどの場合、defun、let、ifなどです。しかし、それは木目に反しているようなので、おそらくこれをやめるべきです。入力のための乾杯。 (ボーダーラインの意見に基づいていますが、C ++での閉じ括​​弧に関連しているようです。この場合、通常は独自の行にあるべきであると述べることは議論の余地がないはずです)。

1
markdown-modeのfill-paragraphを修正するには?
markdown-mode段落全体を埋めるのは非常に得意ですが、本当に気になる欠点が1つあります。段落に2つのスペースで終了する行が含まれている場合、それは充填を開始するだけで、その行は充填されません。 たとえば、2行目が2つのスペースで終了する次の例を考えてみます。 If I hit M-q right here at the start, this line will get broken into two, but the others won't. If I hit M-q right here only the NEXT line will get split. All because this line here ends in two spaces.__ If I hit M-q right here, …

2
ファイルごとにバッファを読み取り専用にする
私-*- mode: read-only-mode -*-はコメント内に何かを設定できることを知っており、Emacsは対応するファイルを読み取り専用として開きます。私の問題は、そのような行を含むファイルをorg-modeメジャーモードで引き続き読みたいということです。Emacsはこれらのファイルをで開きますfundamental-mode。 Emacsにファイルを読み取り専用で開き、正しいメジャーモードを使用させるにはどうすればよいですか?

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