понедельник, 23 августа 2010 г.

Закрыть все буфера TRAMP'а в Emacs

Вот так в emacs'е можно закрыть все буфера tramp'а. Чтобы не искать руками в ibuffer, просто набираем M-x kill-tramp-buffers. Иногда мне это нужно, чтобы не путаться, на какой машине я редактирую сейчас файлы, переходя от одной машине к другой.

;;; a shortcut to kill all tramp buffers at once
;;;
(require 'ibuffer)

(defun tramp-buffer-p (buf)
"is this buffer tramp's one"
(or (string-match "^\\*tramp" (buffer-name buf))
(tramp-tramp-file-p (with-current-buffer buf
(ibuffer-buffer-file-name)))))

(defun kill-tramp-buffers ()
"kill all TRAMP buffers"
(interactive)
(dolist (buf (buffer-list))
(when (tramp-buffer-p buf)
(kill-buffer buf))))