LoginSignup
2
1

More than 5 years have passed since last update.

バッファ切替時に*Message*などを無視する

Posted at

Emacsで複数のファイルを開いてC-x <right>で切り替えて作業する際、*Message**tramp/ssh hostname*のようなバッファが邪魔なので、バッファ名の最初と最後が*のバッファを、バッファ切り替え時に表示しないようにする。

init.el
(defun switch-buffer-skipping-special-buffer (next)
  (let ((start-buf (buffer-name))
        (func (if next 'next-buffer 'previous-buffer)))
    (funcall func)
    (while (and (string-match "\\`\\*.+\\*\\'" (buffer-name))
                (not (string= start-buf (buffer-name))))
      (funcall func))))

(defun next-buffer-skipping-special-buffer ()
  (interactive)
  (switch-buffer-skipping-special-buffer t))
(defun previous-buffer-skipping-special-buffer ()
  (interactive)
  (switch-buffer-skipping-special-buffer nil))

あとはnext-buffer-skipping-special-bufferprevious-buffer-skipping-special-bufferを適当なキーにバインドすればOKです。
あくまで切り替え時に該当バッファを飛ばしているだけなので、switch-to-bufferなどを使えば普通に表示させることも可能です。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1