コマンドが特定のウィンドウを使用しないようにするにはどうすればよいですか?


14

通常、フレームは4つのウィンドウに分割されており、下部の2つは自分*compilation**grep*バッファ専用です。コンパイルエラーを参照すると、next-error最終的には*grep*バッファがターゲットファイルの1つに置き換えられます。

バッファを含むウィンドウを使用next-errorないように設定するにどうすればよい*grep*ですか?

私の特定のユースケースはnext-errorコマンドですが、より一般的な回答も歓迎します。


回答:


14

専用のウィンドウを使用するという2番目の@Nsukamiの提案。コマンドはなく関数なので、set-window-dedicated-p直接使用するのは面倒です。次のコマンドと関連するキーバインディングを使用して、を押すと、任意のウィンドウの「専用性」を切り替えることができますC-c t

(defun toggle-window-dedicated ()
  "Control whether or not Emacs is allowed to display another
buffer in current window."
  (interactive)
  (message
   (if (let (window (get-buffer-window (current-buffer)))
         (set-window-dedicated-p window (not (window-dedicated-p window))))
       "%s: Can't touch this!"
     "%s is up for grabs.")
   (current-buffer)))

(global-set-key (kbd "C-c t") 'toggle-window-dedicated)

これが、この専用ウィンドウ機能を使用する便利な方法です!おかげで、それは魅力のように機能します。
ピウィ14年

確かに、機能+キービングの内部の方が優れています。
Nsukami _ 14年

4

専用ウィンドウを提案できますか?

この関数を使用して、ウィンドウをバッファ専用にする必要があります。

set-window-dedicated-p windowフラグ:この関数は、flagが非nilの場合、ウィンドウをそのバッファー専用としてマークし、そうでない場合は非専用です。

礼儀GNU

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