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 5192f96ad8df110002000002

Words in parens

We should all ace this, right?

Start file
one two
three
End file
(one) (two)
(three)

View Diff

1,2c1,2
< one two
< three
---
> (one) (two)
> (three)

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 3731 remaining solutions by signing in and submitting your own entry
#3732 velina v veleva / @vveleva - Score: 155 - 04/23/15 @ 16:55
::%s/\(\a*\)/(&)/g<CR>ZZ<C-A><BS><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Right><BS><CR><CR>%s/\(\w*\)/(\1)/g<CR>ZZ/<Esc><Esc>u<Esc>/<BS>:%s/\(\w*\)/(\1)/g<CR>ZZ<CR>:%s/\(\w*\)/(\1)/g<CR>ZZ<Left><Left><Right><Right><Right><BS><BS><BS><BS><BS><BS><CR><Esc>:w<CR><Esc>:wq<CR>

0 comments


Created by: @udioica

3732 active golfers, 12075 entries

Leaderboard (lowest score wins):
17
#2581 - Bitt Faulk / @bittfaulk

02/20/2020 at 09:20PM

17
#2582 - asierrayk / @asierrayk

03/14/2020 at 07:42PM

17
#2583 - Ivan / @SpiritHNTR

03/18/2020 at 12:21PM

17
#2584 - Jason / @roosjason

04/09/2020 at 09:37AM

17
#2585 - volandkit / @volandkit

04/20/2020 at 05:46PM

17
#2586 - Mack Hutsell / @sellshuts

05/25/2020 at 01:02AM

17
#2587 - Di Liu / @Skyerliu

06/21/2020 at 01:03PM

17
#2588 - Ivan Krukov / @i_krukov

07/02/2020 at 01:33AM

18
#2589 - DR / @dde81

05/15/2013 at 09:18AM

18
#2590 - tspilk / @tspilk

05/15/2013 at 03:39PM

18
#2591 - Björn Holdt / @bholdt

05/24/2013 at 06:51AM

18
#2592 - Lance Levine / @LanceSMLevine

05/25/2013 at 06:12AM

18
#2593 - Joe Sullivan / @itsjoesullivan

06/20/2013 at 03:53AM

18
#2594 - qtwtetrt / @qtwtetrt

06/23/2013 at 05:06PM

18
#2595 - Marc Delagrammatikas / @marcdel

06/23/2013 at 11:10PM

18
#2596 - shpoont / @shpoont

06/30/2013 at 12:17PM

18
#2597 - Nick Todd / @NickTodd_

07/01/2013 at 10:29PM

18
#2598 - Marco Valtas / @mavcunha

07/12/2013 at 04:32AM

18
#2599 - benzrf / @benzrf

07/18/2013 at 03:53PM

18
#2600 - Vestrobaa / @Vestrobaa

07/18/2013 at 09:32PM

18
#2601 - caleb holt / @Zergleb

07/31/2013 at 07:47AM

18
#2602 - 0x0dd / @0x0DD

08/04/2013 at 08:47PM

18
#2603 - Przemysław Kamiński / @CXLII

08/05/2013 at 12:29PM

18
#2604 - Amos Chan / @amosfreakinchan

08/09/2013 at 05:58PM

18
#2605 - David Rosen / @DavidSRosen

08/12/2013 at 03:17AM

18
#2606 - Steve McHail / @smchail

08/21/2013 at 09:12AM

18
#2607 - Michał Bielawski / @m_bielawski

09/12/2013 at 11:52AM

18
#2608 - Alejandro Gómez / @dialelo

09/23/2013 at 10:00PM

18
#2609 - me / @turgleturgle

09/25/2013 at 07:15PM

18
#2610 - Andrew Clissold / @aclissold

09/26/2013 at 12:47PM