複数のEmacsセッションでファイルを編集する

複数のEmacsセッションでファイルを編集する

Emacsは言う

最後に、バッファを読み込んだりバッファに保存した後、ディスクファイルが変更されたバッファを修正しようとします。

このバッファを修正し続けると、yファイルを書き換える人の操作が壊れる可能性があります。復元したいと言うと、rバッファの内容はディスク上のファイルからフラッシュされます。と言うと、 n開始した変更が中断されます。

通常、最新バージョンのファイルをインポートしてから再度変更するには、を入力してからをn入力する必要があります。M-x revert-buffer

おすすめの理由

通常、 を入力nし、 を入力してM-x revert-buffer最新バージョンのファイルをインポートし、再度変更する必要があります。

代わりに

回復時にrバッファの内容はディスク上のファイルからフラッシュされますか?

二人は本当に違いますか?私が見るには、それらも同じように見えますか?

答え1

バッファを修正したい。ディスクファイルが変更されました最後に読み取ったか、このバッファに保存してからです。

これは、保存する前に誰かが現在作業中のファイルを変更したことを意味し、グラフィカルに次のようになります。

              — Current file on Disk
            /
File-orig —
            \ 
              — Your saved buffer (*)

どちらも異なる場合があります。これを選択すると、r後で使用できるようにバッファが保護されます。ディスクからリロード

              — Current file on Disk —
            /                          \ 
File-orig —                              — Current buffer (*)
            \ 
              — Your saved buffer

したがって、ディスクから最後に読み込んだ後にファイルに適用された変更を確認できます。

r今thenを実行すると、M-x revert-buffer次のことが起こります。

              — File on Disk —
            /                  \ 
File-orig —                      — Buffer read from disk ——— (*) Applied your changes over the one on the disk
            \                                           / 
              — Your saved buffer —————————————————————

望むより!ディスクに適用された変更と変更は、同じファイルにマージされ、すべてマージされます。 Gitを知っていれば、上記の作業はブランチのマージに似ています。

選択するだけでr変更が失われます。選択すると、y他の人が変更した内容が失われます。これが推奨される理由です。

関連情報