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):
26
#91 - Matthew Draper / @_matthewd

12/31/2010 at 04:56PM

26
#92 - Will Gray / @graywh

12/31/2010 at 07:41PM

26
#93 - clint tseng / @cxlt

12/31/2010 at 09:38PM

26
#94 - Ilya Ermolin / @ermolinis

12/31/2010 at 10:17PM

26
#95 - Pierre / @Pihour

01/01/2011 at 01:58AM

26
#96 - Nándor Komzák / @rubymood

01/01/2011 at 02:16AM

26
#97 - Denis Odorcic / @denisodorcic

01/02/2011 at 01:09AM

26
#98 - PA Parent / @paparent

01/02/2011 at 01:52PM

26
#99 - Paul King / @nrocy

01/02/2011 at 05:49PM

26
#100 - Mattiassich Ákos / @mattiassicha

01/03/2011 at 02:34PM

26
#101 - Avinash Baliga / @avinashbaliga

03/27/2011 at 07:58PM

26
#102 - Jesús Espino / @jespinog

09/05/2011 at 08:19PM

26
#103 - ltn614 / @ltn614

09/30/2015 at 12:36PM

26
#104 - Daniel / @Daniel00288663

04/05/2017 at 02:33PM

26
#105 - RaylanFox / @RaylanFox

04/13/2020 at 04:15PM

27
#106 - Rod Cloutier / @RodCloutier

12/31/2010 at 04:50PM

27
#107 - Guillaume Bonnoron / @gbonnoron

12/31/2010 at 05:19PM

28
#108 - Douglas Stockwell / @dstockwell

12/31/2010 at 06:45PM

28
#109 - Leonard Chin / @lchin

01/02/2011 at 04:29PM

28
#110 - Marcin Szamotulski / @me_coot

11/24/2012 at 11:20PM

28
#111 - ajh / @AlexJHammel

12/24/2012 at 06:50PM

29
#112 - Antonio Lucca / @tonyxzt

12/31/2010 at 06:42PM

29
#113 - Dmytro Shteflyuk / @kpumuk

12/31/2010 at 09:52PM

29
#114 - Ben Lenarts / @benlenarts

01/03/2011 at 12:09AM

29
#115 - PJ Probity / @james_cartledge

01/03/2011 at 09:42AM

29
#116 - Kurt Gaastra / @KGaastra

02/14/2012 at 06:03AM

29
#117 - Tyler Breisacher / @tbreisacher

08/25/2012 at 09:09AM

29
#118 - CJ Avilla / @cjav_dev

11/06/2014 at 06:03AM

29
#119 - Raj / @brshenoy

06/01/2015 at 05:07PM

30
#120 - Francisco Dibar / @frandibar

01/07/2011 at 02:28AM