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 3621 remaining solutions by signing in and submitting your own entry
#3622 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

3622 active golfers, 11684 entries

Leaderboard (lowest score wins):
23
#3361 - Infinity Delta / @InfinityDelta

01/28/2018 at 04:48PM

23
#3362 - 이규승 / @IAHvPQrHVoh21zG

06/29/2018 at 08:39AM

23
#3363 - jenna why do i have to make this / @jenna_have

10/23/2019 at 11:39PM

23
#3364 - ENSORIZATION / @ensorization

11/01/2019 at 08:26PM

23
#3365 - Aaron / @_Lordofthevoid_

12/17/2019 at 05:55PM

24
#3366 - Zsolt Botykai / @botykai_zsolt

05/15/2013 at 08:07AM

24
#3367 - Bastien Murzeau / @b_a_s_t_i_e_n

05/29/2013 at 07:15AM

24
#3368 - Andre Herrera / @andreherrera_a

06/02/2013 at 07:01AM

24
#3369 - deroguerre / @DeroguerreGui

06/07/2013 at 03:19PM

24
#3370 - Angus Fletcher / @angusiguess

06/26/2013 at 06:51PM

24
#3371 - Jan Wedekind / @wedesoft

07/05/2013 at 10:23AM

24
#3372 - Origen Theologian / @0rig3n

07/29/2013 at 09:36PM

24
#3373 - hiroaki yasutomo / @kaminaly

09/05/2013 at 01:43AM

24
#3374 - Francesco Negri / @dhinus

09/17/2013 at 10:22AM

24
#3375 - Pedro Coca / @dtrms

10/04/2013 at 08:32AM

24
#3376 - Steven Schalhorn / @Unmensch

10/05/2013 at 12:26PM

24
#3377 - Rob McVey / @robmcvizzle

10/11/2013 at 12:23PM

24
#3378 - dickbutt / @ryan_haynes

10/24/2013 at 09:54PM

24
#3379 - José Maurinho / @Jose_Maurinho

10/27/2013 at 09:16PM

24
#3380 - xavier ps / @xavierpsdev

10/29/2013 at 10:39AM

24
#3381 - Zakaria / @KODOQUE

11/02/2013 at 09:04PM

24
#3382 - Nico Erfurth / @masta_de

11/11/2013 at 02:16PM

24
#3383 - Xavier Coiffard / @AngeZanetti

01/13/2014 at 07:06PM

24
#3384 - Luc Mazardo / @lxtrmz

01/23/2014 at 02:17PM

24
#3385 - Zach Fry / @ZachFry2

01/29/2014 at 12:00AM

24
#3386 - Aurélien Vallée / @aurelienvallee

01/31/2014 at 12:31PM

24
#3387 - Rhodri Pugh / @rodnaph

02/02/2014 at 09:09PM

24
#3388 - Uwe Voelker / @uwevoelker

02/12/2014 at 08:52PM

24
#3389 - Casper Oakley / @casperoakley

03/25/2014 at 11:36PM

24
#3390 - d1uckym d1uckym / @d1uckym

04/03/2014 at 02:05AM