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

3970 active golfers, 12969 entries

Leaderboard (lowest score wins):
22
#3571 - Olik / @oli33k

07/15/2015 at 02:09PM

22
#3572 - Stani Banani / @Stani_Banani

09/10/2015 at 11:04PM

22
#3573 - anonrab / @anonrab

12/28/2015 at 03:33PM

22
#3574 - Jasbir Singh / @jasbirsingh11

01/18/2016 at 04:51PM

22
#3575 - Elias Nyström / @nighstrom

01/27/2016 at 07:56AM

22
#3576 - Camron Flanders / @camflan

03/25/2016 at 01:25PM

22
#3577 - Andy / @mayuyu48a

04/20/2016 at 04:23AM

22
#3578 - Evan / @Klekticist

05/02/2016 at 11:13AM

22
#3579 - Chris Armstrong / @ChrisATweets

05/19/2016 at 11:18PM

22
#3580 - Brian Cantrell / @briancantrell

09/01/2016 at 07:47PM

22
#3581 - a1exwang / @ice_b0und

09/05/2016 at 06:22AM

22
#3582 - Filype / @FilypePereira

12/26/2016 at 03:50AM

22
#3583 - Atsushi Terada / @terada_atsushi

03/29/2017 at 11:44AM

22
#3584 - python-tweepy / @python_tweepy

05/15/2017 at 01:47AM

22
#3585 - 三井 源 / @mitsuigh

07/24/2017 at 07:31PM

22
#3586 - poster board / @mm_mut_mu11

11/11/2017 at 07:45PM

22
#3587 - manos koustelakis / @KoutsManos

11/18/2017 at 07:08PM

22
#3588 - P. Bogaard / @Pepbogaard

01/21/2018 at 01:37AM

22
#3589 - Markus Ankenbrand / @IIMOG

02/10/2018 at 09:02PM

22
#3590 - Vincent Dahmen / @wahrwolf

03/29/2018 at 02:59PM

22
#3591 - Alex Budilovsky / @alexbudy

05/02/2018 at 01:30AM

22
#3592 - Walerian Sobczak / @walerian777

05/04/2018 at 10:22AM

22
#3593 - 신지훈 / @iwUeDn1UGj3aXZ3

06/29/2018 at 08:37AM

22
#3594 - Jonathan Kim / @jonykim16

08/20/2018 at 04:46AM

22
#3595 - 伺か / @ojiry

09/20/2018 at 09:37AM

22
#3596 - Omar Zeidan / @OZeidan97

11/13/2018 at 12:27PM

22
#3597 - leziak2 / @leziak2

12/24/2018 at 01:30AM

22
#3598 - Kyle Safran / @kylesafran

01/19/2019 at 02:09AM

22
#3599 - Patrick Lavin / @LavinComputes

01/31/2019 at 03:30PM

22
#3600 - Thilo Rörig / @scholith

02/21/2019 at 09:31PM