Vim
Text Editing
Coding
Command Line
Keyboard Shortcuts

How do I move to end of line in Vim?

Interview Questions practice on Codemia

Over 8,000 real interview questions from top companies, searchable by company and role.

Browse interview questions

Moving efficiently within a text editor can significantly enhance your productivity. In Vim, a popular and powerful text editor, navigating to the end of a line is a simple yet essential task that every user should master. This article will explore the various methods and shortcuts available in Vim to move to the end of a line, along with technical explanations and examples.

Basic Movement Command

In Vim, the primary command to move the cursor to the end of the current line is .Whenyoupress. When you press while in normal mode, Vim moves the cursor to the last character of the line you're currently on.

Example: Suppose you have the following text in your editor:

 
This is a line of text
Another line follows

If your cursor is positioned at the start of the first line, pressing $ will move it to t at the end of "text".

Combined Usage with Other Commands

The $ command can be combined with other Vim commands to enhance text editing efficiency. For example, d$ will delete everything from the cursor's current position to the end of the line.

Example: With the cursor at the start of "Another line follows":

 
Another line follows

Executing d$ would result in:

 
Another

Visual Mode and $

Using $ in visual mode (entered by pressing v in normal mode) helps you select text up to the end of a line. This is particularly useful when you want to copy or modify specific portions of text.

Example: Starting from the word "line" in the sentence:

 
This is a line of text

Entering visual mode and pressing $ would select "line of text".

Count Prefix

Vim allows movements to be prefixed with a count that repeats the movement command multiple times. For instance, 2$ would mean move to the end of the line twice, effectively taking you to the end of the next line (assuming it exists).

Configuration for Enhanced Movement

You can customize Vim settings in your .vimrc file to make end-of-line movements smarter or more suited to your needs. For instance, some users prefer the cursor to move to the last non-blank character instead of literally the last character. Implementing a mapping for this can often expedite coding or text editing tasks.

Example Entry in .vimrc:

vim
nnoremap $ g_

This remaps the $ command to g_, which moves the cursor to the end of the non-blank characters in a line.

Efficiency Tips

  • Combining movements: Learning to combine $ with other Vim commands and motions can significantly speed up your workflow.
  • Repetition and macro usage: For repetitive tasks that involve moving to the end of lines, consider using Vim macros to automate your workflow.

Summary Table

CommandDescription
$Move to the end of the current line.
d$Delete from cursor to end of line.
v$Select text from cursor to line end in visual mode.
2$Move to the end of the next line.
g_Move to the last non-blank character of the line.

In conclusion, mastering the use of $ in Vim for moving to the end of a line is a fundamental skill that can be expanded in various ways through customization and combination with other commands. As you grow more accustomed to these commands, you'll find your navigation within documents becoming much faster and more intuitive.


Free course
Beginner
7 lessons
2 hours
Tackling System Design Interview Problems

A short course that equips you with the skills to approach system design interviews methodically.

Start the free course
Interview Questions practice on Codemia

Over 8,000 real interview questions from top companies, searchable by company and role.

Browse interview questions