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 5054b935fa0b390002000020

SFD-ROC: Tic-Tac-Toe

Tic-Tac-Toe You are 'X', and it is your turn. Stop 'O' from winning, and complete the game. Draw a diagonal line through your winning row of three X's.

Start file
Tic-Tac-Toe
You are 'X', and it is your turn. Stop 'O' from winning, and complete the game.

        |   |
      X | O |
        |   |
     -----------
        |   |
        |   |
        |   |
     -----------
        |   |
        | O | X
        |   |


Bonus: Draw a diagonal line through your winning row of three X's.
End file
Tic-Tac-Toe
You are 'X', and it is your turn. Stop 'O' from winning, and complete the game.

     \  |   |
      X | O |
       \|   |
     -----------
        |\  |
        | X |
        |  \|
     -----------
        |   |\
        | O | X
        |   |  \


Bonus: Draw a diagonal line through your winning row of three X's.

View Diff

4c4
<         |   |
---
>      \  |   |
6c6
<         |   |
---
>        \|   |
8,10c8,10
<         |   |
<         |   |
<         |   |
---
>         |\  |
>         | X |
>         |  \|
12c12
<         |   |
---
>         |   |\
14c14
<         |   |
---
>         |   |  \

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 37 remaining solutions by signing in and submitting your own entry
#38 Rob Grijs / robgrijs - Score: 39 - 10/15/12 @ 18:43
3j5lr\2j2l.2j2l.2j2l.khrX3jA\<Esc>2jA  \<Esc>ZZ

0 comments

#39 Underhill Labs / underhilllabs - Score: 40 - 10/31/12 @ 04:03
2/X<CR>hkr\7whr\3Wlr\jlrXjlr\3Wa\<Esc>nja  \<Esc>ZZ

0 comments

#40 Saxon Unrue / joeunrue - Score: 40 - 11/08/12 @ 21:29
/X<CR>nkhr\jjll.jjll.jlrXjlr\jjA\<Esc>jjA  \<Esc>ZZ

0 comments

#41 A / a_akessler - Score: 47 - 11/04/12 @ 03:18
3j4llr\<Esc>2j2lr\2j2lr\jlrXjlr\2j2lr<Esc>la\<Esc>2ja  \<Esc>ZZ

0 comments

#42 James S.P. Barth / sp_barth - Score: 47 - 12/03/12 @ 20:22
:4<CR>hhhr\jjll.jjll.jlrX<Esc>jlr\<Esc>jjlla\<Esc>jjla  \<Esc>:wq<CR>

0 comments

#43 Brandon Frazier / uhok - Score: 50 - 09/28/12 @ 19:47
4Glhhhhr\6Glhhr\8Glr\jlrXjlr\12Gf|li<Esc>la\<Esc>jja  \<Esc>ZZ

0 comments

#44 Jason Wolf / zephyr_wolf - Score: 51 - 11/08/12 @ 17:15
14GA  \<Esc>2ka\<Esc><C-V>jjll"ay8G"ap3l<C-V>jjlld5Gkh"aP3l<C-V>jjlldZZ

0 comments

#45 Arthur Corenzan / haggen - Score: 58 - 10/26/12 @ 12:53
/|<CR><Left><Left><Left>r/r\<Down><Down><Right><Right>r\<Down><Down><Right><Right>r\<Down><Right>rX<Down><Right>r\<Down><Down><Right><Right>r<Esc><Right><Right><Right><Right><Left><Right>A\<Down><Esc><Down><Down><Up>A  \<Esc>:wq<CR>

0 comments

#46 ralphbean / ralphbean - Score: 73 - 09/15/12 @ 21:37
4j4lllkhr|<Esc>ur\2j2lr\2j2lr\jlrXjlr\2jrl<Esc>u2lll<Esc><Esc><Esc>lhllllax<BS>i<BS>|<BS>\<Esc>jja  \<Esc>:wq<CR>

0 comments

#47 Trever Marshall / dynamic_library - Score: 91 - 10/12/12 @ 10:49
8<Down>9<Right><Right>a\<BS><BS>x <BS><BS>X<Up><Up><Up><Left><Left><Left><Left><Esc><Up><Up><Left>a<Left>\<Right><Right><Right><BS><Down><Down><Left>-<BS>/<BS>\<Right><BS><Down><Down><Right>\<BS>\<Right><Esc>Oq<BS><BS><BS><Up><Up><Down><Down><Down><Left><BS><Up><Down><Down><Down><Left>\<Right><BS><Down><Down><Right>\<Down><Down><Right>  \<Esc>"::;<BS>w<CR>:q<CR>

0 comments

Created by: Remy_D

47 active golfers, 116 entries

Leaderboard (lowest score wins):
25
#1 - Kerson Hsiao / KersonHsiao

09/16/2012 at 10:18AM

25
#2 - Conner McDaniel / connermcd

09/16/2012 at 07:08PM

25
#3 - Victor Ramirez / virako

10/01/2012 at 12:45AM

25
#4 - Rahul Krishnan / rahulkrish

11/04/2012 at 04:04PM

25
#5 - Petro Тrouq / zulolosi

06/08/2013 at 09:30AM

26
#6 - Urtica dioica / udioica

12/13/2012 at 02:10AM

26
#7 - John Braxler / braxler

07/11/2014 at 09:26PM

26
#8 - Jon Krause / jkrause314

01/15/2016 at 08:36AM

27
#9 - Justin Love / wondible

09/17/2012 at 02:08AM

27
#10 - hiding / I_haveno_name

10/02/2013 at 09:21PM

29
#11 - Édouard M'tou / DouardM

10/22/2012 at 07:17PM

29
#12 - mix irving / whimful

10/31/2012 at 10:17AM

30
#13 - Jer Wilson / superjercom

09/28/2012 at 06:34PM

30
#14 - Dan Goldstein / dggoldst

10/14/2012 at 03:10AM

31
#15 - tmr / tmr314

09/16/2012 at 12:18PM

31
#16 - Arton0306 / Arton0306

11/21/2012 at 02:18PM

32
#17 - Marcin Sza / coot_

09/18/2012 at 03:01PM

32
#18 - Joonas Pihlajamaa / jokkebk

03/15/2014 at 04:11PM

32
#19 - Lifepillar / lifepillar

09/30/2015 at 04:43PM

33
#20 - h_east (トロッコ6個) / h_east

09/15/2012 at 05:36PM

33
#21 - Tim Chase / gumnos

09/15/2012 at 06:15PM

33
#22 - Hubba / HubbaBubbaFett

11/12/2012 at 10:30AM

33
#23 - cj / cj01101

10/22/2013 at 05:42PM

34
#24 - Federico Bond / federicobond

09/22/2012 at 11:24PM

34
#25 - crater / crater2150

10/25/2012 at 01:04PM

34
#26 - ♜ José Doval / pepellou

10/26/2012 at 07:16PM

35
#27 - mnx / mnxx

09/21/2012 at 02:57PM

35
#28 - Peter Lacey-Bordeaux / placeybordeaux

09/28/2012 at 03:51AM

35
#29 - Yann Moisan / YannMoisan

02/10/2013 at 02:05PM

35
#30 - James / Dronak

09/18/2014 at 08:17PM

36
#31 - 無ん垢の叫び / john_ababa

09/16/2012 at 12:17PM

36
#32 - vansan / VinceVansan

09/18/2012 at 08:52PM

36
#33 - Nicholas Amina / apolatg

09/25/2012 at 06:43PM

36
#34 - Marcelo Paez / paezao

10/05/2012 at 12:08PM

36
#35 - JonLz / LzJon

12/26/2012 at 04:13AM

37
#36 - n0nick / n0nick

11/19/2012 at 02:41PM

38
#37 - Ryan / devops_yeoman

09/15/2012 at 06:27PM

39
#38 - Rob Grijs / robgrijs

10/15/2012 at 06:43PM

40
#39 - Underhill Labs / underhilllabs

10/31/2012 at 04:03AM

40
#40 - Saxon Unrue / joeunrue

11/08/2012 at 09:29PM

47
#41 - A / a_akessler

11/04/2012 at 03:18AM

47
#42 - James S.P. Barth / sp_barth

12/03/2012 at 08:22PM

50
#43 - Brandon Frazier / uhok

09/28/2012 at 07:47PM

51
#44 - Jason Wolf / zephyr_wolf

11/08/2012 at 05:15PM

58
#45 - Arthur Corenzan / haggen

10/26/2012 at 12:53PM

73
#46 - ralphbean / ralphbean

09/15/2012 at 09:37PM

91
#47 - Trever Marshall / dynamic_library

10/12/2012 at 10:49AM