8

アトミックに設計されていると思いmvます。vimは一時ディレクトリに保存し、次に古いファイルの上に一時ファイルを保存して、古いバージョンまたは新しいバージョンのいずれかが存在することを確認します。保存中に電源をオフにしても、ファイルはありません。

誰か詳細がありますか?

4

2 に答える 2

7

これがどのように行われるかは、いくつかのオプションの値によって異なります。

これに影響を与える主なオプションはbackupcopy、UNIXシステムでは、これはデフォルトyesで他のシステムではデフォルトになりautoます。に設定されている場合にのみno、質問のように書き込みが行われることが保証されます。vimに設定するyesと、バックアップコピーを作成した後、代わりに元のファイルの内容が上書きされます。に設定するとauto、属性を渡すことができ、ファイルがリンク(シンボリックリンクまたはハードリンク)ではないことが検出された場合、質問のように動作します。リンクを解除するオプションには追加の値があります。そのオプションのヘルプを参照してください。

これに影響する他のオプションはbackupwritebackupです。バックアップを作成するには、これらの少なくとも1つを設定する必要があります。バックアップが行われない場合、元のファイルの内容が上書きされます。このwritebackupオプションは、vimがサポート付きでコンパイルされている限り、デフォルトでオンになっています。backupskipバックアップが実行されないファイルパターンのリストを指定するオプションもあります。これらのパターンの1つがファイルと一致する場合、バックアップは実行されず、元のファイルの内容が上書きされます。

于 2012-11-26T16:00:02.380 に答える
4

あなたは一般的なアプローチについて正しいです。詳細については、を参照してください:help backup

設定を介してアプローチを微調整できます。これは、ハードラインされたファイルを処理する場合、またはinotifyなどのAPIを使用してファイルシステムの変更に対応する場合に重要です。

さらに、swapfile(:help swap-file)とpersistent undo(:help persistent-undo)は、ディスクがクラッシュした場合でも、データの損失を回避するのに役立ちます。

于 2012-11-26T11:44:33.137 に答える