Vi / Vim: Wipe and Undo All Changes Since Opening a File

last updated in Categories , ,

I am a new vi / vim text editor user and I know how to quit without saving changes. What if I want to wipe out all of the edits I have made in a session and get back to the original file? How do I wipe all changes since opening a file?

To undo and wipe all changes since opening file in vim or vi text editor.


1) If you are currently in insert or append mode, press Esc key.

2) Type : (colon). You will see the cursor at the lower left corner of the screen.

3) Type the following command:




The above command returns you to the last saved version of the file i.e. edit the current file always. Discard any changes to the current buffer. This is useful if you want to start all over again. Type the following command for more information.

:help edit!

Check out related media

This tutorial is also available in a quick video format:

Video 01: VI / VIM: Wipe All Changes To The Buffer / File


Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

3 comment

  1. I use this daily. Though to be safe; I do a diff of current buffer and file saved on disk before reverting.
    0 set diffopt+=iwhite
    1 function! DiffOrig()
    2 if &diff
    3 wincmd p | bdel | diffoff
    4 else
    5 vert new | set bt=nofile | r # | 0d_ | diffthis | wincmd p | diffthis
    6 endif
    7 endfunction
    8 map do :call DiffOrig()

    Still, have a question? Get help on our forum!