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

3906 active golfers, 12690 entries

Leaderboard (lowest score wins):
19
#3091 - Eric Man / @ericmanlol

07/01/2018 at 03:38PM

19
#3092 - qed / @qed13308565

07/24/2018 at 04:00AM

19
#3093 - ハヤシ / @0__098

07/28/2018 at 04:00AM

19
#3094 - Ano Nym / @AnoNym39473378

08/18/2018 at 01:39PM

19
#3095 - 김형창 / @uVmEMZsCgcYvqZi

08/31/2018 at 07:28AM

19
#3096 - Samidhya Sarker / @desertSniper87

09/06/2018 at 12:47PM

19
#3097 - Calvin Fong / @LordyBaka

11/04/2018 at 01:24AM

19
#3098 - Fabio Branquinho / @branquif

11/08/2018 at 01:34PM

19
#3099 - Álvaro Melgosa / @AlvaroMlgs

11/17/2018 at 02:46PM

19
#3100 - Alan Barnett / @alan23394

04/03/2019 at 08:58PM

19
#3101 - dtjong / @dtjong2

06/07/2019 at 10:04PM

19
#3102 - Hayden Wang / @HaydenWang2

08/09/2019 at 02:16AM

19
#3103 - Alexander Dikelsky / @ADikelsky

08/20/2019 at 07:25PM

19
#3104 - Alucardkoten / @alucardkoten

09/19/2019 at 05:12AM

19
#3105 - Eleks Aggr / @AggrEleks

10/22/2019 at 01:09PM

19
#3106 - Andrei Popescu / @AndreiTheory

12/09/2019 at 09:31PM

19
#3107 - Ageless O₂ Absorber / @dr_barnowl

12/16/2019 at 06:30PM

19
#3108 - Jörg Meyer / @JoergMy

01/05/2020 at 05:30PM

19
#3109 - Nik C / @nikclarx

01/28/2020 at 01:10AM

19
#3110 - rr / @rodgeur31

01/29/2020 at 09:19PM

19
#3111 - (h i) / @hi_eduardo

01/31/2020 at 03:38AM

19
#3112 - stevan / @stevan76107116

02/12/2020 at 06:50AM

19
#3113 - Phúc Lê / @lkhphuc

02/15/2020 at 10:41PM

19
#3114 - Chris League / @chrisleague

02/23/2020 at 08:00PM

19
#3115 - Matthew Diamant / @matthewdiamant

06/22/2020 at 07:04PM

19
#3116 - abhijeet patil / @abhijeetptl5

09/03/2020 at 11:59AM

19
#3117 - JP / @JP16366170

09/08/2020 at 11:54AM

19
#3118 - PapiGrode / @GrodePapi

09/10/2020 at 09:20AM

19
#3119 - will / @willpnw

09/25/2020 at 02:55AM

19
#3120 - Jordan Martel / @martelosaurus

10/14/2020 at 04:37AM