タグ付けされた質問 「buffers」

Emacsで編集しているテキストは、バッファーと呼ばれるオブジェクトにあります。ファイルにアクセスするたびに、ファイルのテキストを保持するためにバッファが使用されます。Diredを呼び出すたびに、ディレクトリリストを保持するためにバッファが使用されます。

3
「ibuffer」で列幅を設定する
の列の幅をカスタマイズする方法はありますibufferか?具体的には、「名前」列を広げて、バッファー名が切り捨てられる前に読み取れるようにします。私は試しましたBuffer-menu-name-widthが、Buffer-menu変数はによって使用されていないようですibuffer。私も試してみましたM-x customize-group RET ibuffer RETが、関連するものはありませんでした。

1
バッファのコンテンツを取得する
したがってbuffer-string、現在のバッファのコンテンツを取得します。ただし、他のバッファを指定することはできません。 どうすればそれを回避できますか?機能save-window-excursionさせるために何か必要ですか?

1
すべてのプロジェクトファイル(現在のバッファーだけでなく)で急降下
だから、現在開いているバッファのセットだけでなく、プロジェクト内のすべてのファイルをhelm-swoop見たいと思っています。 これにより、swoopを使用してプロジェクト内のすべての出現箇所を検索し、関連するものをマークしてから編集できます(ヘルムスイープの編集モードで)。 Helm / Helm swoopでこれを行うにはおそらくクリーンな方法があると思いますが、解決策を考えようとする私の試みは次のとおりです。 発射物からファイル名を収集する ファイル名リストからバッファのリストを作成します この新しいバッファリストを使用するほか、helm-multi-swoop-allと同じルーチンを実行する (projectile-current-project-files)、探しているファイルのリストが表示されるようです。 だからhelm-multi-swoop-all、コピーして微調整するのはかなり簡単だと思われます。 (defun helm-multi-swoop-all (&optional $query) (interactive) "Apply all buffers to helm-multi-swoop" (cond ($query (setq helm-multi-swoop-query $query)) (mark-active (let (($st (buffer-substring-no-properties (region-beginning) (region-end)))) (if (string-match "\n" $st) (message "Multi line region is not allowed") (setq helm-multi-swoop-query (helm-swoop-pre-input-optimize $st))))) ((setq helm-multi-swoop-query (helm-swoop-pre-input-optimize …
15 buffers  helm 


2
コマンドが特定のウィンドウを使用しないようにするにはどうすればよいですか?
通常、フレームは4つのウィンドウに分割されており、下部の2つは自分*compilation*と*grep*バッファ専用です。コンパイルエラーを参照すると、next-error最終的には*grep*バッファがターゲットファイルの1つに置き換えられます。 バッファを含むウィンドウを使用next-errorしないように設定するにはどうすればよい*grep*ですか? 私の特定のユースケースはnext-errorコマンドですが、より一般的な回答も歓迎します。
14 buffers  window 

2
バッファーとモードラインに異なるフォントサイズを設定するにはどうすればよいですか?
すべてのフレームでフォントのサイズを設定するために、init.elファイルに次の行があります。 (push '(font . "DejaVu Sans Mono-10") default-frame-alist) それは動作しますが、モードライン用に小さいフォントを保持しながら、すべてのバッファに大きなフォントを使用したいです(したがって、より多くの情報に適合し、気が散らないようにすることができます)。これは、オープンバッファごとにCx C- +でフォントサイズを変更することなく、この設定を自動的に行うという考え方です。 GNU / LinuxシステムのトランクからコンパイルされたEmacs 25.0.50.1を使用しています。 編集:方法を示す回答を追加しました。

1
バッファを切り替えるとき、emacsが自動的にフレームを切り替えるのを防ぎます
バッファーを切り替えると、バッファーが既に開かれている場合、emacsは既存のフレームに切り替えます。 私はidoを使用して切り替えるときにそれを防ぐ方法を見つけました: (setq ido-default-buffer-method 'selected-window) しかし、それだけでは十分ではありません。たとえば、Lispエラーが発生した場合、emacsは自動的にバッファ* Backtrace *に切り替え、すでに開いている場合はフレームを切り替えます。 emacsが既存のフレームに完全に切り替わるのを防ぐ方法はありますか?

6
auto-mode-alistを尊重するために(ファイルだけでなく)バッファーを取得する方法は?
Q:マッピングを尊重する新しいバッファを取得するにはどうすればよいauto-mode-alistですか? ファイルを見つけると、Emacsはファイル拡張子とを比較しauto-mode-alistて、ファイルのバッファに使用するメジャーモードを決定します。情報を使用して、auto-mode-alist(まだ)ファイルが関連付けられていないバッファのモードを決定する方法はありますか? つまり、ファイル拡張子のように見える名前を持つ新しいバッファを開くと、予期したモードで自動的に開くようにできますか?たとえば、a-new-buffer.elまだファイルに関連付けられていない新しいバッファを開く場合emacs-lisp-mode、デフォルトモードではなく開くようにします。

1
開いているすべてのバッファでマイナーモードを無効にする
多くの場合、多くのバッファを開いていますが、何らかの理由で、特定のマイナーモードを使用したくない場合があります。現在、すべてのオープンバッファに対して特定のマイナーモードを無効にする組み込みの方法がありますか、それともカスタムelisp関数を記述する必要がありますか?

3
フレームが削除されたときにバッファを殺す
フレームを閉じるとき、そのバッファを削除したいです。 バッファが他のフレームに表示されている場合、バッファを強制終了しないでください。 フレームに複数のバッファが表示されている場合は、何もしません。 これを設定する良い方法は何ですか?
12 buffers  frames 

2
特定のバッファを新しいウィンドウで強制的に開くにはどうすればよいですか?
Magitで変更をコミットする場合、コミットに関する詳細を追加するときにdiffビューを開いておくと便利です。 Magitでは、*magit ..*バッファーに差分が表示されます。あなたがヒットするとcc、カーソルが上にある間に段階的なファイル、Magitはバッファをコミット.. COMMIT_EDITMSGポップアップ表示されます。デフォルトでは、この新しいバッファは*magit ..*コミット差分を表示していたバッファを置き換えます。 QUESTION - どのように私は作るのですか.. COMMIT_EDITMSG、私は両方見ることができるように(別のウィンドウ再利用したり、フレームがそもそもちょうど1つのウィンドウを持っていた場合は、新しいウィンドウを作成します)新しいウィンドウで開いているバッファ*magit ..*と.. COMMIT_EDITMSGバッファを?
12 buffers  window  magit 

5
開いているすべてのバッファを元に戻します(エラーは無視します)
gitを使用してバージョン管理下のプロジェクトで作業するとき、開いているファイルの多くに影響を与えるシェルでいくつかのことを実行したい場合があります。次に、開いているすべてのバッファを元に戻して、新しいバージョンを誤って上書きしないようにします。私が開いていたもので。私が知っているmagit、ここで参考にすることができますが、私はシェルで私のワークフローに使用していると私は今のところそれを維持したいと思います。そのため、代わりに、開いているすべてのバッファを元に戻し、おそらく存在git checkoutしなくなったもの(たとえば、そのファイルがなくなったブランチのため)を閉じます。 私はGoogle検索から取得した次のelispのスニペットを持っています。 (defun revert-all-buffers () "Refreshes all open buffers from their respective files" (interactive) (let* ((list (buffer-list)) (buffer (car list))) (while buffer (when (and (buffer-file-name buffer) (not (buffer-modified-p buffer))) (set-buffer buffer) (revert-buffer t t t)) (setq list (cdr list)) (setq buffer (car list)))) (message "Refreshed open files")) しかし、この休憩、それは私の開いているファイルのいずれかでエラーがヒットした場合、すなわち元に戻すときB1、B2、B3、...、Bn復帰しようとしたときにエラーをB2防止するB3- Bn元に戻すされているから。 …



3
通知を取り消さずにバッファを変更するにはどうすればよいですか?
Q:undo気づかずにバッファーにテキストを挿入/変更するにはどうすればよいですか? これがユースケースです。すべてのファイルの先頭にコメントブロックがあり、ファイルに対する最新の変更のタイムスタンプを更新します。undoファシリティに気付かれずにそのタイムスタンプを変更できるようにしたいのですが。 undoここで短絡させたい理由は、LaTeXドキュメント(およびおそらく他のドキュメント)を編集/コンパイルするときに発生する次のエッジケースによるものです。 ファイルに小さな変更を加えて、コンパイルされたドキュメントにどのように影響するかを確認します ファイルを保存します(タイムスタンプを更新します)。 latexファイルで実行する 変更が悪いものであると判断する undo 変更 ステップ(5)(undo)の問題は、ステップ(1)で行われた変更を取り消すのではなく、ステップ(2)で更新されたタイムスタンプを取り消すことです。それは(私はできた私を気にしないだろうundo、それはまた、移動が多く、多くの行離れて実際の実質的な変更からほとんど常にファイルの先頭にすべての道のタイムスタンプを指していることを除いて、再び)。それは非常に耳障りで、私の集中力を完全に壊します。 私が訪問しているファイルに関して質問を投げかけていますが、それはより一般的にはバッファを変更することについてです。 それで、バッファへの特定の変更に気付かないようにするにはどうすればよいundoですか?

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