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 9v006501ab56000000000258

Tic-Tac-Toe Grid Transformation

Your mission is to efficiently convert the original Tic-Tac-Toe grid, represented by 'x's and 'o's, into a neat and well-organized game board.

Start file
|x|o|o|
| |x|x|
|x| |o|
End file
|-----------|
|x x| o | o |
| x |o o|o o|
|x x| o | o |
|-----------|
|   |x x|x x|
|   | x | x |
|   |x x|x x|
|-----------|
|x x|   | o |
| x |   |o o|
|x x|   | o |
|-----------|

View Diff

1,3c1,13
< |x|o|o|
< | |x|x|
< |x| |o|
---
> |-----------|
> |x x| o | o |
> | x |o o|o o|
> |x x| o | o |
> |-----------|
> |   |x x|x x|
> |   | x | x |
> |   |x x|x x|
> |-----------|
> |x x|   | o |
> | x |   |o o|
> |x x|   | o |
> |-----------|

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 59 remaining solutions by signing in and submitting your own entry
#60 Sam / @sam_rands - Score: 295 - 09/27/23 @ 19:50
i<CR><Esc>k|---i|----<BS>--------|<BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><Esc>qri|-----------|<Esc>qljo<Esc>@rjo<Esc>@rjo<Esc>@rkkkkkkhhhhhhhhhhhjo<CR><Up>|<Down>|k<BS><Esc>kklqla  <Down>   |<Down>   |<Esc>qkkl@lkkkjl@lj0jlqeo|<CR>|<Esc>qkkl@lkkl@ljjkkkkl@lj0lj@ekkl@lkkl@lkkkjl@lkkkkkkkkkkkkkj0lqxllrxjhrxhjrxllrxqkk<Esc>flllqor lroljrohhroljroqkklll@ojjh@xhhhhhhkk@xjj0l@xkkllllll@o:x<CR>

0 comments


Created by: @Somin13

60 active golfers, 266 entries

Leaderboard (lowest score wins):
58
#1 - Danilo J. S. Bellini πŸ₯ŠπŸ‡§πŸ‡· / @danilobellini

09/16/2023 at 08:15AM

58
#2 - John Braxler / @braxler

09/19/2023 at 03:38PM

58
#3 - FilipRazek / @FilipRazek

11/11/2023 at 08:50AM

58
#4 - Blake Wingard / @Bats6789

11/16/2023 at 02:13PM

58
#5 - ζ‚Ÿε² / @A1OBJTxN5fTg5EJ

11/27/2023 at 03:38PM

58
#6 - Eric Dobson / @ericdobson

12/07/2023 at 07:16PM

58
#7 - Joachim Wedin / @joachimwedin

12/18/2023 at 09:19PM

58
#8 - Vishal / @gyanantaran

01/03/2024 at 08:27AM

58
#9 - jeffreymrussell / @jeffreymrussell

02/02/2024 at 11:32AM

58
#10 - Will-Hendrix / @Will-Hendrix

02/12/2024 at 03:44PM

60
#11 - nightgather / @nightgather

02/10/2024 at 01:18PM

70
#12 - Jean George / @JeanGeo20504212

09/25/2023 at 04:40PM

70
#13 - tien / @tien40766111

10/17/2023 at 08:09AM

70
#14 - Vimgolf User / @VimgolfU

10/27/2023 at 08:48AM

70
#15 - Opus28 / @Opus28

11/20/2023 at 04:13PM

70
#16 - Remus Dalrymple / @bornintheflames

12/06/2023 at 08:52PM

71
#17 - MartnRamtin / @MartnRamtin

12/13/2023 at 12:30AM

71
#18 - Matt Zhang / @MattUnderscoreZhang

01/03/2024 at 03:27AM

75
#19 - Smylers / @Smylers2

09/14/2023 at 03:21PM

75
#20 - ShookerAndBeta / @Shooker2012

11/21/2023 at 07:45AM

97
#21 - binayligal / @binayligal

12/31/2023 at 01:42PM

98
#22 - Yordan Boikov / @yboikov

01/07/2024 at 02:56AM

99
#23 - herbage / @herbage2

11/23/2023 at 10:39PM

99
#24 - dvquentincarrel / @dvquentincarrel

12/29/2023 at 12:30AM

100
#25 - shikitanrei / @shikitanrei

03/02/2024 at 11:10PM

101
#26 - Gino Fazari / @GinoF

09/27/2023 at 03:12AM

105
#27 - Monkey Boy / @monkey29089

09/21/2023 at 11:06AM

105
#28 - snkkid / @snkkid

10/30/2023 at 02:15PM

108
#29 - かぼす / @umesawanokabosu

10/06/2023 at 10:08AM

111
#30 - Stefan Krist / @nerdyness_sk

10/24/2023 at 08:22PM