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 4d1ac1800a045132c0000011

Reformat a C golf submission

Take this C golf submission (for the "tiny but standards-compliant Hello World program" category, naturally), and turn it into formatted C code.

Start file
#include<stdio.h>
int main(void){puts("Hello world!");return 0;}
End file
#include <stdio.h>

int main(void)
{
    puts("Hello world!");
    return 0;
}

View Diff

--- hw.c	2010-12-28 21:01:54.000000000 -0800
+++ hw-indented.c	2010-12-28 21:04:56.000000000 -0800
@@ -1,2 +1,7 @@
-#include<stdio.h>
-int main(void){puts("Hello world!");return 0;}
+#include <stdio.h>
+
+int main(void)
+{
+    puts("Hello world!");
+    return 0;
+}

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 192 remaining solutions by signing in and submitting your own entry
#193 Frank Hui / @frankhui - Score: 126 - 12/29/10 @ 06:39
:1,$ s/{/{\t/g<CR>:1,$ s/;/;\r\t/g<CR>:1,$ s/>\n/>\r\r/<CR>:1,$ s/{/\r{\r/<CR>:1,$ s/}/\r}\r/<CR><Esc>ddkddkk:1,$ s/\t/    /g<CR>:1,$ s/</ </<CR>:w<CR>:q<CR>

0 comments


Created by: @josh_triplett

193 active golfers, 522 entries

Leaderboard (lowest score wins):
39
#151 - Dezső Zoltán / @zakiazigazi

01/22/2011 at 08:40AM

39
#152 - Arto Vuori / @dhpe

08/30/2012 at 09:14PM

39
#153 - Sofia Balicka / @so_phifi

03/05/2013 at 09:09PM

39
#154 - shahanavaz m / @shahanavazm

02/13/2022 at 04:47AM

40
#155 - Paul Tarjan / @ptarjan

12/29/2010 at 06:53AM

40
#156 - Benjaminister / @Benjaminister

12/29/2010 at 07:37AM

40
#157 - omelo / @omelo

12/29/2010 at 08:02AM

40
#158 - johnny / @johnnychm

12/29/2010 at 11:20AM

40
#159 - Daniel Grippi / @danielgrippi

12/31/2010 at 07:45PM

40
#160 - Dave / @zzdave13

07/31/2011 at 10:02PM

40
#161 - Marco Hinz / @_mhinz_

05/22/2013 at 09:57AM

40
#162 - Scott Atkins / @scottrick49

06/15/2021 at 01:54PM

41
#163 - homerj7648 / @homerj7648

12/29/2010 at 05:49AM

41
#164 - Michael Lustfield / @Profarius

12/29/2010 at 06:34AM

41
#165 - emonkak / @emonkak

12/29/2010 at 01:30PM

41
#166 - Andrew McDonough / @andrewmcdonough

12/29/2010 at 06:38PM

41
#167 - Sammasati / @sammasati0

07/15/2011 at 06:41PM

42
#168 - Sid Kasivajhula / @CountVajhula

12/29/2010 at 08:10AM

43
#169 - Aaron Bull Schaefer / @elasticdog

12/29/2010 at 04:20PM

43
#170 - Adam / @ulbador

12/29/2010 at 09:56PM

43
#171 - Francisco Dibar / @frandibar

01/13/2011 at 03:19AM

43
#172 - Craig H. Anderson / @CootCraig

04/22/2011 at 08:10PM

44
#173 - togi / @togi

12/29/2010 at 05:52PM

44
#174 - Nick / @quinks25

01/13/2011 at 10:54AM

44
#175 - wusher / @wusher

06/02/2011 at 07:57PM

44
#176 - anonymouse / @anonymo65837183

04/12/2022 at 03:08AM

45
#177 - Sasha Koss / @kossnocorp

12/29/2010 at 07:51AM

45
#178 - Aleksander Balicki / @alekbalicki

12/29/2010 at 02:41PM

46
#179 - Andrey A. Ugolnik / @andreyugolnik

01/19/2011 at 07:00PM

46
#180 - Trevor Powell / @DoomedBunnies

11/28/2011 at 05:22AM