タグ付けされた質問 「revert-buffer」


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


1
「バッファを本当に編集する」で、emacsはediff-current-fileを自動的に実行しましたか?
環境 emacsが編集バッファーの外でファイルが変更されたことを検出したとき。 観察された emacsは尋ねます: ディスクでsomefilenameが変更されました。本当にバッファを編集しますか?(y、n、rまたはCh) (ちなみに、実際には変更がない場合でも発生することがあります。たとえば、時計がずれているサーバー上のリモートファイルですが、問題はすべてのケースで興味深いものです。) 願い emacsは尋ねます: ディスクでsomefilenameが変更されました。本当にバッファを編集しますか?(y、n、r、dまたはCh) を押すdと、バージョン間の違いが表示されます。たとえばediff-current-file、インタラクティブに違いを確認できます。 追加情報 これは、ローカルにカスタマイズされた構成ファイルが所有するパッケージの新しいバージョンによって更新されたことを検出したときに、Debianパッケージ管理が行うことと似ています。例については、新しいバージョンの構成ファイル/ etc / default / grubが利用可能ですが、現在インストールされているバージョンはローカルで変更されています-Unix&Linux Stack Exchange 尋ねる前に検索 私は通常、解決策への道を見つけます(例:emacsclient-外部スクリプトからファイルを開いて、emacsが既に実行されているかどうかにかかわらず、単純な式を実行します-Emacs Stack Exchange)。これを検索した後、既存の解決策は見つかりませんでした。 私はこれを自分で調整することを検討しますが、emacs-lispとemacsの内部については十分に熟達していません。 ソリューションのスケッチ C-g次に、「Mx ediff-current-file」を押すと、いくつかのキーストロークを犠牲にして機能します。 ここでの目標ediff-current-fileは、上記のプロンプトで1回のキープレスで実行することです。

3
global-auto-revert-modeが機能していないようです?
私の初期化ファイルには (setq global-auto-revert-mode t) Ch vでそれが正しいことを確認できます。しかし、gitブランチを変更するたびに、revert-bufferを使用してすべてのファイルを手動で元に戻す必要があります。保存しようとして「ディスク上のファイルが変更されました」というプロンプトが表示されることもあります。これをデバッグする方法について何か提案はありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.