
Linux仮想マシン内のVimでファイルを開き、Windowsホストでファイルを開こうとしました。欲しくない「スワップファイルblah.swpはすでに存在しています!」という警告を表示します(ファイルはゲストと共有されています)。 、仮想マシンで!
まず、Windowsでファイルを編集してから仮想マシンでLinuxのVimを使用しても、Linux仮想マシンでファイルを編集してからWindowsでVimでファイルを開くと、結果は同じで警告は表示されません。 LinuxからWindowsまでの動作は同じであると言えます。どちらの場合も、Vimは.swo
(私の考えでは)そうする必要があると文句を言わずに自動的にファイルを生成します。ただし、ファイルはすでにVMで開かれていますが、VMで2番目に開くとするWindowsでも同じことが起こるので注意してください(私のVim設定について疑問に思う人のために)。
読書は:help recovery
いかなる情報も提供しません。どちらの場合も、バージョンはVim 7.4です。
答え1
Vimは、スワップファイルが編集されたファイルに属していると認識していないようです。
Vimスワップファイルには、編集したファイルのパス名が含まれています。編集したファイル以外のディレクトリにスワップファイルを配置できるため、これは意味があります。明らかに、Vimは見つかったスワップファイルのパス名が編集するファイルと一致することを確認します。 1 つのパスは Linux VM にあり、もう 1 つのパスは Windows にあるため、お客様の場合は該当しません。
残念ながら、Vimのマニュアルではこの理論の証拠を見つけることができず、現在はソースコードでこれを検証する時間もありません。
答え2
この問題がまだ発生しているかどうかを確認するためにシステムを再起動したかったので、間違いなく解決したので、これは一時的な奇妙なことです。他の人がこの質問を見る場合に備えて、このスレッドを保管します。同様のVM設定を使用して別のコンピュータで同じことを行ったことを覚えていて、問題が発生しなかったので、このソリューションを初めて考えました。実はそうです。他のコンピュータでも同じことが起こります。した警告を表示する必要があります。したがって、再起動後に警告が再表示されます。