Real Vim ninjas count every keystroke - do you?

Pick a challenge, fire up Vim, and show us what you got.

Changelog, Rules & FAQ, updates: @vimgolf, RSS.

Your VimGolf key: please sign in

$ gem install vimgolf
$ vimgolf setup
$ vimgolf put 4d1e037dde2f897c2a000417

Reverse and count

Someone typed things upside down and now a Vim ninja needs to reverse the lines and count how many there are.

Start file
Sixth line
Fifth line
Fourth line
Third line
Second line
First line
End file
1. First line
2. Second line
3. Third line
4. Fourth line
5. Fifth line
6. Sixth line

View Diff

1,6c1,6
< Sixth line
< Fifth line
< Fourth line
< Third line
< Second line
< First line
---
> 1. First line
> 2. Second line
> 3. Third line
> 4. Fourth line
> 5. Fifth line
> 6. Sixth line

Solutions

The best way to learn is to practice. Below, you will find some of the solutions other golfers have entered. To unlock higher ranked solutions, submit your own entry which does as well or better than the solutions you can currently see - climb the ladder!

Check out these helpful resources to improve your Vim skills... Game on.

Unlock 177 remaining solutions by signing in and submitting your own entry
#178 Zigmas Bitinas / @samgiz - Score: 111 - 02/11/24 @ 20:46
:g/^/m 0<CR><Esc><Esc><Esc>qqq:for i in range(1,6)|execute i .'<BS> 's/!<BS>^/'. o<BS>i /<BS>,<BS>. \<BS>'. ' | endfore<CR>:<Up><BS><CR>i<Del>6<Up><Up><Up><Up><Up><BS><Del><Del><Esc>:qw<BS><BS>wq<CR>

0 comments


Created by: @jamesconroyfinn

178 active golfers, 480 entries

Leaderboard (lowest score wins):
30
#121 - Sid Momin / @mominsid

11/04/2015 at 09:58PM

30
#122 - Kyouma / @kyoumaJohn

10/15/2016 at 09:51PM

31
#123 - Mohammad-Javad Izadi / @mjizadi

01/05/2011 at 01:38PM

31
#124 - Frederik Mogensen / @fmogensen

03/31/2011 at 10:17AM

32
#125 - Bill Odom / @billodom

12/31/2010 at 11:04PM

32
#126 - Ujjwol Lamichhane / @Ujjwol

01/01/2011 at 02:48AM

32
#127 - David / @ddddddddavid

01/02/2011 at 03:47AM

32
#128 - Øystein Walle / @oysteinwalle

07/10/2011 at 11:11AM

32
#129 - Dave / @zzdave13

07/13/2011 at 09:40PM

32
#130 - jasper110 / @jasper110

09/22/2011 at 09:13AM

32
#131 - Son of Bongo / @bpcode

05/13/2012 at 11:46AM

32
#132 - Michael Limiero / @michaellimiero

08/15/2012 at 04:47PM

32
#133 - Tom User / @kiryph

05/30/2013 at 11:52AM

32
#134 - cj / @cj01101

02/03/2014 at 11:31PM

33
#135 - kmymtksh / @kmymtksh

12/31/2010 at 06:37PM

33
#136 - Ryan Horn / @ryan_horn

12/31/2010 at 07:10PM

33
#137 - xer0x / @xer0x

01/01/2011 at 08:41PM

33
#138 - Addisu Taddese / @azeey

01/02/2011 at 02:50AM

33
#139 - Marc Lacoursière / @RooSoft

01/02/2011 at 02:56AM

33
#140 - davidnorth / @davidnorth

01/02/2011 at 03:07AM

33
#141 - Jens-Chr. Fischer / @jcfischer

01/03/2011 at 10:40AM

33
#142 - aaaa3331 / @aaaa3331

01/03/2011 at 09:48PM

33
#143 - David Duponchel / @dduponchel

01/08/2011 at 07:07PM

33
#144 - Stephan Weller / @stephan_weller

01/10/2011 at 09:16PM

33
#145 - drio / @drio

01/11/2011 at 01:32PM

33
#146 - Andrey A. Ugolnik / @andreyugolnik

01/19/2011 at 07:46PM

33
#147 - William Dunand / @wdunand

11/28/2011 at 08:34AM

33
#148 - You-Siang Lin / @yslinnctu

12/02/2011 at 11:39AM

33
#149 - Al / @96258

12/14/2011 at 04:31PM

33
#150 - Xavier Nayrac / @lkdjiin

12/30/2011 at 03:46PM