Skip to main content

How to Undo and Redo in Vim / Vi



Sometimes, when editing a file, you may delete a wrong line or change your mind about an edit, and you’ll want to revert the changes.

This article explains how to undo and redo changes in Vim / Vi.

Either Vi or Vim is installed by default on macOS and almost all Linux distributions. Knowing the basics of Vim might be very useful when you encounter a situation where your favorite editor is not available.



Undo Changes in Vim / Vi

 
Vim keeps track of all the changes you made in the current session. The undo command undoes one or more changes in the order in which they were made.

To undo changes in Vim and Vi use the u, :u or :undo command:


If you are in insert or any other mode, press the Esc key to go back to the normal mode, which is also known as command mode.
Type u to undo the last change. In Vim, the u command also accepts quantifiers. For example, if you want to undo the 4 last changes, you would use 4u.
Make sure you’re typing lowercase u, not the uppercase U command, which undo all latest changes on one line. If you accidentally type U you can undo the change with u.

Use the undo command to revert the changes made by any other command, such as delete, paste, search and replace, and so on.


When working in insert mode, all changes to the text are considered as one entry in the undo tree. For example, if you switch to insert mode and enter five lines, then go back to normal mode and press u to undo the change, all five lines are removed.



Redo Changes in Vim / Vi

 
The redo feature reverses the action of undo.

To redo a change in Vim and Vi use the Ctrl-R or :redo:

Press the Esc key to go back to the normal mode.
Use Ctrl-R (press and hold Ctrl and press r) to redo the last change. In Vim, you can also use quantifiers. For example, if you want to redo the 4 last changes, you would type 4Ctrl-R.
Each undo command can be reversed by a redo command.



Conclusion
To undo a change in Vim/Vi type u, and to redo a change which was undone use the Ctrl-R key sequence.


Comments

  1. I enjoy reading your blog! Thank you for writing such an informative post.
    Reference: https://webdesignvalley.com/

    ReplyDelete

Post a Comment

Popular posts from this blog

How to Speedup your WordPress site with Amazon CloudFront.

Introduction A WordPress performance is quite excellent . The number of WordPress plugins to handle performance is such evidence. But the easiest way to improve your user experience is to accelerate the entire WordPress website using CloudFront. This will help you not only improve site response time reduces the necessary infrastructure, reducing the load on the Web server, so you can reduce the total cost of the infrastructure works WordPress. CloudFront is actually a site can greatly help your site to respond to unexpected load when gained popularity. Today this post is to clarify the method of providing a reasonable standard configuration on the WordPress website or blog. How does CloudFront help? Amazon CloudFront is to improve the user's experience accessing the Web site in several ways: 1.  Anycast DNS is to ensure that customers are routed to the nearest edge location. 2.  The cached content is available to users at the edge position (i

Linux System : Free Employee Monitoring with Automatic Screenshots

Introduction :   A utomatic screen-shots  of Linux system directly import  on your web server with Linux samba server service and scrot command. 1)  Setup web panel UI on your web server :   Get web panel PHP/HTML code from Github URL: https://github.com/raj412/Employee-Monitoring-for-Linux-System It’s work in Linux server LAMP environment(no need database for this configuration ) Defult login username password is admin/1234. You can change username/passwrod from login.php file in line number #6 Login Page : Dashboard : Screenshot Page : 2)  Samba server configuration on web server : I.  Install Samba on your server where you setup Linux screenshot log system web panel. sudo apt-get update sudo apt-get install samba II.  Set a password for your user in Samba sudo smbpasswd -a <user_name> III.  Share gallery-images folder from you web panel. This is my web panel gallery-images p

How to control high traffic load on Apache servers : optimization performance of APACHE2 & PHP-FPM

Everyone handle high traffic loads  on Apache server. During down-time they forget to check server memory . Apache not used lot of memory  still server not responding. All time we restart Apache service and all things will start working good. I also faced same issue numerous time and all-time  used same solution : Restart Apache. After lots of research and reading found one solution. In this blog you see step-by-step guide to apache2 performance settings. System environment: Intel(R) Xeon(R) CPU 3.10GHz, 4 cores | 8GB RAM Ubuntu 16.04 Apache2 version using mpm_event PHP FPM (5.6,7.1) First,  Calculate process size : Download : python script file “ps_mem.py” from Github Open this and ps_mem.py file upload on you server :  https://github.com/raj412/ps_mem chmod a+x ps_mem.py sudo python ps_mem.py Output like this:  See here : 12 Apache processes, consuming a total of  35.7MiB, so each Apache process is using roughly 3MiB of RAM. The 42 php-fpm process u