Viが更新されたファイルをキャンセルしますか?

Viが更新されたファイルをキャンセルしますか?

私はファイルから多くのテキストを削除して保存しました。

以前のバージョンのファイルを復元できますか?

バックアップをして幸運を試してみなければならないことを知っています。

ベストアンサー1

を使用している場合は、vim削除されたテキストの一部または全部を復元できます。なぜなら、vimは最後に削除された9つのテキストをレジスタ1から9まで保存して終了する.viminfoと、このファイルは次から呼び出されるホームディレクトリに保存されるからです。ファイルvim

このレジスタは編集されたすべてのファイルに対してグローバルに保存されます~/.viminfoいいえ編集されたファイルごとに1つのグループ。したがって、他のファイルを編集して行を削除すると、削除されたテキストの一部または全部が消えます。

他のファイルで(多くの)行を編集して削除しなかった場合は、削除した行のうち(一部)がまだ残っている可能性が高くなります。

:registersのコマンドを使用して、テキストがまだこのレジスタにあることを確認できますvim

  1. 実行vim filename (ここで、filenameは誤って消去したファイルの名前です)

  2. を入力:registers(または省略:reg)して、をクリックしますenter

  3. 出力を確認して、テキストに似た内容があることを確認します。

たとえば、私のシステムには次の内容が表示されますvim

:reg
--- Registers ---
""   ^J
"0   ^J
"1   You can check to see if your text is still in those registers with the :registers command in vim.^J
"2   If you haven't edited and deleted lines from other files yet, there's a good chance your deleted lines will still be there.^J^J
"3   If you are using vim, you may be able to recover some or all of your deleted text because vim stores the most recent 9 deletion in registers 1 to 9, which are saved to a file called .viminf
"4   ^J
...
...
...

注:""「名前が指定されていない」レジスタで、常に最新のコピーまたは削除された値を含み、現在コピーされて"0いるレジスタです。詳細については、次を参照してください。vimレジスタの使い方。 Googleでもこのアイテムを見つけました。ブログ投稿これはそれを非常によく説明します。

:help registersもちろんヘルプも組み込まれています。http://www.vim.org/http://vim.wikia.com/wiki/Vim_Tip​​s_Wikiそしてhttps://vi.stackexchange.com/一般vim情報の詳細をご覧ください。

  1. レジスタから一部削除されたテキストが表示されたら、"レジスタ番号を順番に入力し、pそれを現在位置の現在のバッファに貼り付けます。

    たとえば、上記のレジスタ1と2を復元するには、次のように入力します。

    "1p"2p

    このレジスタは現在の編集バッファに貼り付けられます。

注:何も入力すると(例:"レジスタの貼り付けを開始)、:registersディスプレイは消えます。したがって、復元したいレジスタを書き留めておくか、:registers必要に応じて頻繁に入力するように注意してください。

おすすめ記事