Vim Key Bindings – Vim Keys List Reference (2024)

Understanding Vim key bindings is crucial for navigating and editing text efficiently in Vim or Vim-based text editors like Neovim.

In this article, we'll explore the most common Vim key bindings that will help you navigate your text editor seamlessly.

Table of Content

  • Vim Modes
  • How to Navigate using Vim Key Bindings
  • How to Edit Text in Normal Mode
  • Insert Mode
  • Visual Mode
  • More Navigation Commands
  • Programming Specific Key Bindings
  • Conclusion

Vim Modes

Vim operates in distinct modes, each designed for specific tasks:

  • Normal Mode: Default state for efficient movement, deletion, searching, and more.
  • Insert Mode: Allows you to type text directly into your file.
  • Visual Mode: Enables text selection for manipulation.

How to Navigate using Vim Key Bindings

Basic Movement

Here are some basic movement keys:

h --> move leftj --> move downk --> move upl --> move right

Moving to Top and Bottom

You can use these keys to move to the top or bottom of the page:

gg --> Move to the first line of the pageG --> Move to the last line of the page

Moving to a Specific Line

You can move to a specific using : followed by the line number:

:number --> Go to the line number

Moving Within a Line

You can use these keys move to the start or end of a line:

$ --> Go to the end of the line0 --> Go to the start of the line

Moving Through Words

Here are some keys for moving through lines of text:

b --> Go to the previous wordw --> Go to the next word

How to Edit Text in Normal Mode

Deletion and Copying

You can delete or copy characters using these keys:

x --> Delete the character under the cursordd --> Delete the entire lineyy --> Copy (yank) the entire linep --> Paste the previously deleted or copied text after the cursor

Undo and Redo

u --> Undo the last actionCtrl + r --> Redo the undone action

Searching and Replacing

/ --> Start searching forward? --> Start searching backward:s/old/new/g --> Replace all occurrences of "old" with "new" in the entire file

Insert Mode

In Insert mode, you can type text directly into your file. Here are some key bindings to help you navigate in this mode:

Esc --> Return to Normal Modei --> Start inserting text before the cursora --> Start inserting text after the cursoro --> Open a new line below the current line and start inserting text

Visual Mode

Visual mode is useful for selecting and manipulating text visually. Here are some key bindings:

v --> Start character-wise visual modeV --> Start line-wise visual modeCtrl + v --> Start block-wise visual moded --> Delete the selected texty --> Copy (yank) the selected textp --> Paste the copied text after the cursor

More Navigation Commands

Scrolling

Ctrl + u --> Move half a screen upCtrl + d --> Move half a screen downCtrl + b --> Move one full screen upCtrl + f --> Move one full screen down

Jumping between Words and Paragraphs

( --> Jump to the beginning of the previous sentence) --> Jump to the beginning of the next sentence{ --> Jump to the beginning of the previous paragraph} --> Jump to the beginning of the next paragraph

These commands provide a comprehensive overview of the essential Vim key bindings for efficient navigation and text manipulation.

Programming-Specific Vim Key Bindings

Moving Between Functions

In a code file, navigating between functions is a common task. Vim makes it efficient with these keys:

]] --> Move to the beginning of the next function[[ --> Move to the beginning of the previous function

These commands are invaluable for quickly jumping between different parts of your code.

Indentation

Maintaining consistent code indentation is crucial. Vim enhances this with these keys:

>> --> Indent the current line to the right<< --> Indent the current line to the left

Effortlessly adjust the indentation to adhere to coding standards and improve code readability.

Folding

Code folding aids in managing large files. Vim provides powerful folding commands:

zf{motion} --> Create a fold (replace {motion} with a movement command)zo --> Open a foldzc --> Close a foldzr --> Reduce folding level throughout the filezm --> Increase folding level throughout the file

Use folding to collapse and expand sections, this makes it easier to focus on specific parts of your code.

Code Commenting

Efficiently comment and uncomment code with:

gcc --> Comment/uncomment the current linegc{motion} --> Comment/uncomment the lines covered by {motion}

Speed up the commenting process and maintain code documentation effortlessly.

Matching Parentheses

Effortlessly navigate and understand code structure with:

% --> Move to the matching parenthesis, bracket, or brace

This makes it easier to navigate complex code by quickly jumping between corresponding code blocks.

Conclusion

In essence, mastering Vim key bindings unlocks a world of efficient text editing. From basic movements to advanced coding tasks, Vim's modes and commands streamline navigation and manipulation.

By embracing these key bindings, you'll enhance productivity and enjoy a more seamless editing experience. Happy coding in Vim!

If you have any feedback, then you can DM me on Twitter or LinkedIn.

Vim Key Bindings – Vim Keys List Reference (2024)
Top Articles
Latest Posts
Article information

Author: Prof. Nancy Dach

Last Updated:

Views: 5710

Rating: 4.7 / 5 (57 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Prof. Nancy Dach

Birthday: 1993-08-23

Address: 569 Waelchi Ports, South Blainebury, LA 11589

Phone: +9958996486049

Job: Sales Manager

Hobby: Web surfing, Scuba diving, Mountaineering, Writing, Sailing, Dance, Blacksmithing

Introduction: My name is Prof. Nancy Dach, I am a lively, joyous, courageous, lovely, tender, charming, open person who loves writing and wants to share my knowledge and understanding with you.