15 Vim shortcuts that will make your life easier
Tags: linux, cloud, opensource, vim
Published: 2022-05-22 16:27:36

## Introduction
If you ever installed Linux in your life, I'm sure you might have come across **Vim**. 

**Vim** is a `command-line` based **text editor**. It's a great tool but I won't say that it's the best text editor in Linux as it would lead to a never-ending debate. 

Vim is actually an `improved` version of the old `vi editor`. It comes with many new features including **multi-level undo**, **multiple window support**, **visual mode** and **command-line completion**.

If you're using it for the first time, you may have hard time trying to exit Vim.
.
.
.
What? Don't you believe me? 

Here's the proof :

{% embed https://twitter.com/StackOverflow/status/1105649774504669184?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1105649774504669184%7Ctwgr%5E%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fkinsta.com%2Fblog%2Fbest-text-editors%2F %}

In this blog, I'll list down 15 shortcuts that will save you a lot of time while working with `vim`.

| **Shortcut key**     	|                                                               **Function**                                                              	|
|----------------------	|:---------------------------------------------------------------------------------------------------------------------------------------:	|
| **w**                    	| To `move forward` by one word(you need to be in normal mode).                                                                            	|
| **b**                    	| To `move backward` by one word(you need to be in normal mode).                                                                           	|
| **gg**                   	| To `move to the beginning` of the file.                                                                                                   	|
| **G**                    	| To `move to the end` of the file(last line).                                                                                              	|
| **dw**                   	| To `delete the word`, cursor is positioned upon.                                                                                          	|
| **dd**                   	| To `delete the line`, cursor is positioned upon.                                                                                          	|
| **d2d**                  	| To `delete 2 lines`, starting from the line, the cursor is upon.<br>You can replace '2' by any number and delete any number of lines.     	|
| **u**                    	| To `undo` the last operation performed.                                                                                                   	|
| **Ctrl+r**               	| To `redo` the last operation performed.                                                                                                   	|
| /**sample_text**         	| To `search` for the 'sample_text' in the file. Use `n` to move to next occurrence and `N` to move to the previous occurrence of the text(in Command mode). 	|
| :**%s**/**old**/**new**/**g**          	| `Replaces` all the occurrences of the `old` text with `new` text(in Command mode).                                                                          	|
| :**q!**                  	| To `quit the file discarding all the changes` made to the file(in Command mode).                                                                           	|
| :**wq**                  	| To `save the file` and `quit`(in Command mode).                                                                                                              	|
| :**w sample_filename** 	| To `save` the file with filename 'sample_filename'(in Command mode).                                                                                       	|
| :**q**                   	| To `quit` Vim. It fails when changes has been made to file(in Command mode).                                                                                  	|

<br></br>

That's all for the blog. I hope you had good time reading the blog!😃