Real Vim ninjas count every keystroke - do you?

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

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

Your VimGolf key: please sign in

$ gem install vimgolf
$ vimgolf setup
$ vimgolf put 4d2061daf1a3f252f4000087

Solve the Sokoban

A wink for all Vimgolfers that play Nethack too.

Start file
-------- ------
|<|@...---....|
|^|-.00....0..|
|^||..00|.0.0.|
|^||....|.....|
|^|------0----|
|^|    |......|
|^------......|
|..^^^^0000...|
|??-----......|
----   --------
End file
-------- ------
|@|>...---....|
|.|-..........|
|.||..00|.....|
|.||....|.....|
|.|------.----|
|.|    |......|
|.------......|
|.............|
|..-----......|
----   --------

View Diff

2,10c2,10
< |<|@...---....|
< |^|-.00....0..|
< |^||..00|.0.0.|
< |^||....|.....|
< |^|------0----|
< |^|    |......|
< |^------......|
< |..^^^^0000...|
< |??-----......|
---
> |@|>...---....|
> |.|-..........|
> |.||..00|.....|
> |.||....|.....|
> |.|------.----|
> |.|    |......|
> |.------......|
> |.............|
> |..-----......|

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 50 remaining solutions by signing in and submitting your own entry
#51 Nándor Komzák / @rubymood - Score: 32 - 01/02/11 @ 16:09
:%s/[?^0]/./g<CR>2Glr@llr>4G6l2r0ZZ

0 comments

#52 Paul Tarjan / @ptarjan - Score: 32 - 01/08/11 @ 12:10
:%s/[0^?]/./g<CR>2Glr@llr>4G6l2r0ZZ

0 comments

#53 Paul King / @nrocy - Score: 32 - 01/10/11 @ 01:38
:%s/[0^?]/./g<CR>?<<CR>r@2lr>3l2j2r0ZZ

0 comments

#54 drio / @drio - Score: 32 - 01/16/11 @ 08:22
:%s/[0^?]/./g<CR>2Glr@2lr>4G6l2r0ZZ

0 comments

#55 Nomen Nescio / @vadtusan - Score: 32 - 04/14/11 @ 15:15
:%s/[0^?]/./g<CR>/<<CR>r@2lr>2j3l2r0ZZ

0 comments

#56 Dave / @zzdave13 - Score: 32 - 07/25/11 @ 07:59
jlR@|><Esc>:%s/[0^?]/./g<NL>4G4f.R00<Esc>ZZ

0 comments

#57 mightyfoo / @mightyfoo - Score: 33 - 05/25/11 @ 17:13
:%s/[^-|. ]/./g<CR>2GR|@|><C-O>2j..00<Esc>ZZ

0 comments

#58 Ryan / @devops_yeoman - Score: 33 - 09/11/12 @ 10:07
jlr@llr>:%s/[0?^]/./g<CR>:4<CR>6l2r0:x<CR>

0 comments

#59 kmymtksh / @kmymtksh - Score: 34 - 01/02/11 @ 04:10
:%s/[0^?]/./g<CR>2Glr@2lr>2j3lr0lr0ZZ

0 comments

#60 Josh Weinberg / @jcweinberg - Score: 34 - 01/02/11 @ 09:35
:%s/[0^?]/./g<CR>2Glr@2lr>2j3lr0lr0ZZ

0 comments

#61 Fer Enaf / @0x00C0FFEE - Score: 35 - 01/02/11 @ 03:38
:%s/[0^?]/./g<CR>6k6lvlc00<Esc>?@<CR>r>2hr@ZZ

0 comments

#62 Remy_D / @Remy_D - Score: 44 - 09/11/12 @ 10:16
:%s/[?0^]/./g<CR>/<<CR>r@wblllr>lljljr0lr0:wq<BS><BS><BS>ZZ

0 comments

#63 Solomon White / @rubysolo - Score: 53 - 01/02/11 @ 16:26
:%s/0/./g<CR>:%s!\^!.!g<CR>jls.<Esc>l.2Gls@<Esc>lls><Esc>jjlll2s00<Esc>:wq<CR>

0 comments

Created by: @0x00C0FFEE

63 active golfers, 135 entries

Leaderboard (lowest score wins):
25
#1 - Federico Galassi / @federicogalassi

10/02/2011 at 05:53AM

25
#2 - Conner McDaniel / @connermcd

11/29/2012 at 09:24AM

25
#3 - Zapata / @Incredible_JFP

03/21/2014 at 11:16AM

26
#4 - Urtica dioica / @udioica

12/12/2012 at 03:13AM

26
#5 - John Braxler / @braxler

08/22/2014 at 08:28AM

27
#6 - tmr / @tmr314

09/10/2012 at 07:29AM

27
#7 - Trevor Powell / @DoomedBunnies

03/19/2013 at 09:54PM

29
#8 - Kerson Hsiao / @KersonHsiao

07/24/2012 at 08:05AM

30
#9 - dominique pellé / @vimgolfisto

01/02/2011 at 07:54AM

30
#10 - Balkoth / @_Balkoth_

01/02/2011 at 08:01AM

30
#11 - Ben Lenarts / @benlenarts

01/02/2011 at 01:56PM

30
#12 - Pete Johns / @johnsyweb

01/02/2011 at 03:44PM

30
#13 - Wei Dai / @clvv42

01/02/2011 at 04:24PM

30
#14 - derp derp / @derp__

01/06/2011 at 02:31AM

30
#15 - Ujjwol Lamichhane / @Ujjwol

01/07/2011 at 02:37AM

30
#16 - nicholas a. evans / @nick_evans

01/07/2011 at 11:27AM

30
#17 - Francisco Dibar / @frandibar

01/12/2011 at 05:45AM

30
#18 - Oleg Roshupkin / @jjjahson

01/19/2011 at 02:24AM

30
#19 - Stephen Morrow / @yawmark

01/31/2011 at 09:17AM

30
#20 - Brendan Taylor / @beect

04/26/2011 at 03:20PM

30
#21 - Dragan Cvetinovic / @kawkafi

05/22/2011 at 08:14AM

30
#22 - Jam / @jam00_bcn

06/18/2011 at 08:24AM

30
#23 - Hu Junfeng / @junfeng

07/26/2011 at 02:59AM

30
#24 - Justin Love / @wondible

08/13/2011 at 03:59PM

30
#25 - William Dunand / @wdunand

11/20/2011 at 06:16PM

30
#26 - You-Siang Lin / @yslinnctu

12/03/2011 at 04:29AM

30
#27 - Renat Aksitov / @Korvin79

02/21/2012 at 07:20PM

30
#28 - Kai Yuan / @kentyuan

05/22/2013 at 03:19PM

30
#29 - Joonas Pihlajamaa / @jokkebk

03/15/2014 at 04:28AM

31
#30 - Marian Schubert / @MarianSchubert

01/02/2011 at 06:36AM

31
#31 - Kyle Willmon / @kylewillmon

01/02/2011 at 09:53PM

31
#32 - Chris / @diracdelta

01/03/2011 at 10:03AM

31
#33 - David Pflug / @dpflug

01/09/2011 at 03:57PM

31
#34 - Thomas Schönwälder / @Masei1988

01/12/2011 at 11:16AM

31
#35 - Clive Evans / @swish_bob

01/17/2011 at 03:10PM

31
#36 - h_east (DDD ready) / @h_east

02/02/2011 at 07:35AM

31
#37 - Ben Sinclair / @muppling

03/12/2011 at 05:21PM

31
#38 - Jesús Espino / @jespinog

09/06/2011 at 05:26PM

31
#39 - Tara Bass / @tara_bass

12/23/2011 at 08:31AM

31
#40 - Xavier Nayrac / @lkdjiin

01/02/2012 at 02:16AM

31
#41 - 無ん垢の叫び / @john_ababa

02/24/2012 at 12:24AM

31
#42 - James / @Dronak

09/05/2013 at 01:59PM

32
#43 - Matthew Draper / @_matthewd

01/02/2011 at 04:47AM

32
#44 -  Ikhsan Maulana / @ixandidu

01/02/2011 at 04:54AM

32
#45 - Tim Chase / @gumnos

01/02/2011 at 05:03AM

32
#46 - Aurélien Delahaye / @alkove

01/02/2011 at 05:37AM

32
#47 - Mickael / @mickaelb

01/02/2011 at 05:54AM

32
#48 - Alain Gilbert / @alain_gilbert

01/02/2011 at 09:12AM

32
#49 - Peter Anselmo / @peter_anselmo

01/02/2011 at 10:35AM

32
#50 - Jordan Lewis / @JordanALewis

01/02/2011 at 12:42PM

32
#51 - Nándor Komzák / @rubymood

01/02/2011 at 04:09PM

32
#52 - Paul Tarjan / @ptarjan

01/08/2011 at 12:10PM

32
#53 - Paul King / @nrocy

01/10/2011 at 01:38AM

32
#54 - drio / @drio

01/16/2011 at 08:22AM

32
#55 - Nomen Nescio / @vadtusan

04/14/2011 at 03:15PM

32
#56 - Dave / @zzdave13

07/25/2011 at 07:59AM

33
#57 - mightyfoo / @mightyfoo

05/25/2011 at 05:13PM

33
#58 - Ryan / @devops_yeoman

09/11/2012 at 10:07AM

34
#59 - kmymtksh / @kmymtksh

01/02/2011 at 04:10AM

34
#60 - Josh Weinberg / @jcweinberg

01/02/2011 at 09:35AM

35
#61 - Fer Enaf / @0x00C0FFEE

01/02/2011 at 03:38AM

44
#62 - Remy_D / @Remy_D

09/11/2012 at 10:16AM

53
#63 - Solomon White / @rubysolo

01/02/2011 at 04:26PM