開いているすべてのバッファを元に戻します(エラーは無視します)
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元に戻すされているから。 …