vi を使用してファイルを Perforce にコミットすると、読み取り専用になります。
このファイルを vim で開いていると、readonline になると、尋ねられることもなく、取り消しとやり直しの履歴が失われます。
編集中にファイルが読み取り専用になった場合に、取り消しとやり直しの履歴を保持するオプションは VI にありますか?
Vim のバグです。:edit filename
暗黙的または明示的に、Vimがこのファイルのすべての元に戻す履歴をゼロにしていると思われるときはいつでも(私は推測します)、新しく開かれたファイルであると考えています。perforce コミットの後、ファイルは「外部で変更された」ようになり、Vim は「ファイルをリロードしますか?」と尋ねるはずです。「自動読み取り」を設定しない限り。
「set autoread」オプションについてはvimrcを確認してください。
たぶん、モードラインで読みやすくすることができます:
#vim : set noreadonly:
# と書きましたが、もちろんコメントとして適切な記号に置き換える必要があります。