33

Here's an answer I want about 5 times a day.

In vi, the command to go to the end of the file is G.

But that always leaves me at the start of the last line of the file, if files don't have a blank line at the end.

How can I jump to the end of the file and append a new blank line, so that I can just start typing?

Thanks!

Richard
  • 955
  • 5
  • 13
  • 16

3 Answers3

61

What about Go, successively? ;-)

akira
  • 61,009
  • 17
  • 135
  • 165
binfalse
  • 1,794
  • 14
  • 10
  • @Richard Also check out the capital 'O' command if you aren't familiar with that one. It creates a new line above the current one and puts you in insert mode. – Corey Jun 28 '11 at 16:38
  • @binfalse : Many times while coding we want to start a new code block, so after the end of file, we need to skip a line and then enter `insert` mode, if I use `G2o`, then I am moved to the next line to the `EOF` and into `insert` mode and when I **move back to normal mode another line is created, to which I'm instantly shifted**, how to go to insert mode after 2/n lines ? – aspiring1 Jan 05 '20 at 14:32
4

An alternative with command line:

:$put _

If you want to understand that, you can also read this answer on registers

Benoit
  • 6,993
  • 4
  • 23
  • 31
1

One way to do this is to create a macro and place it in your .vimrc file.

map , GA<enter>

This will map the comma key. When pressed, vi will go to the end of the file, go to the end of that line and create a new blank line. This will also leave you in insert / edit mode.

jftuga
  • 3,177
  • 1
  • 19
  • 23