3

からの出力を取得して、からの同じバッファにadd-to-list 'same-window-buffer-names "*grep*"出力するために、.emacsに追加しました。しかし、grepの出力を取得した後、次のように言います。grep-findM-x grep find

-*- mode: grep; default-directory: "~/sandbox/" -*-
Grep started at Sat Sep  1 17:01:38

find . -type f -print0 | xargs -0 -e grep -nH -e vector
./main.cpp:4:#include <vector>
./typelist.cpp:2:#include <vector>
./main.cpp.eulerbak:4:#include <vector>

typelist.cpp:2などのいずれかでEnterキーを押すと、バッファが水平方向に分割されて開き、そのファイル内のインクルードを含む行にポイントが切り替わります。分割しない方法はありますか。バッファを開き、grepバッファで開きますか?これにより、バッファを強制終了してgrepの結果にフォールバックするのが簡単になります。

4

1 に答える 1

2

これをinitファイルに追加します。

(eval-when-compile (require 'cl))
(defun kill-grep-window ()
  (destructuring-bind (window major-mode)
      (with-selected-window (next-window (selected-window))
        (list (selected-window) major-mode))
    (when (eq major-mode 'grep-mode)
      (delete-window window))))

(add-hook 'next-error-hook 'kill-grep-window)
于 2012-09-02T05:00:25.940 に答える