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 5bbb82f969a25f0009541350

Applying same text modification in several lines

Remove identical text at the beginning of several lines and the closing parenthesis.

Start file
Assert.ThrowsAsync<Exception>(() => _auction.StartSellingItem());
Assert.ThrowsAsync<Exception>(() => _application.StartBiddingIn(_auction));
Assert.ThrowsAsync<Exception>(() => _auction.HasReceivedJoinRequestFromSniper());
Assert.ThrowsAsync<Exception>(() => _auction.AnnounceClosed());
Assert.ThrowsAsync<Exception>(() => _application.ShowsSniperHasLostAuction());
End file
_auction.StartSellingItem();
_application.StartBiddingIn(_auction);
_auction.HasReceivedJoinRequestFromSniper();
_auction.AnnounceClosed();
_application.ShowsSniperHasLostAuction();

View Diff

1,5c1,5
< Assert.ThrowsAsync<Exception>(() => _auction.StartSellingItem());
< Assert.ThrowsAsync<Exception>(() => _application.StartBiddingIn(_auction));
< Assert.ThrowsAsync<Exception>(() => _auction.HasReceivedJoinRequestFromSniper());
< Assert.ThrowsAsync<Exception>(() => _auction.AnnounceClosed());
< Assert.ThrowsAsync<Exception>(() => _application.ShowsSniperHasLostAuction());
\ No newline at end of file
---
> _auction.StartSellingItem();
> _application.StartBiddingIn(_auction);
> _auction.HasReceivedJoinRequestFromSniper();
> _auction.AnnounceClosed();
> _application.ShowsSniperHasLostAuction();
\ No newline at end of file

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 567 remaining solutions by signing in and submitting your own entry
#568 /home/ck / @_CarlKenny - Score: 70 - 11/12/18 @ 01:34
dF_<Esc>jkkdf_<Esc>j.j.j.j.<C-V>kkkkI_<Esc>jjkkdf_f)<Esc>lxjwwwblxjwwbllxjhxjwllx<Esc>;:;x<BS><BS>x<CR>

0 comments


Created by: @alvesmarcell

568 active golfers, 1994 entries

Leaderboard (lowest score wins):
15
#331 - Mauricio Ariza / @_hell_spawn

10/09/2018 at 01:45PM

15
#332 - Sebastien Mesili / @seb_kr

10/10/2018 at 07:12AM

15
#333 - Adomas Jatužis / @adomixaszvers

10/13/2018 at 09:37AM

15
#334 - Charlie OConor / @charlieoconor

10/15/2018 at 02:37AM

15
#335 - ComedyOfStdErrs 🌹 / @DoodlingDev

10/15/2018 at 01:59PM

15
#336 - Willer / @WilliamChhim

10/16/2018 at 09:00AM

15
#337 - Kasparas Lavrukaitis / @kaslvr

11/11/2018 at 10:31AM

15
#338 - Harsha B C / @Harsha1306_

11/21/2018 at 11:28PM

15
#339 - Arch Delacy / @DelacyEsq

11/22/2018 at 09:34PM

15
#340 - Bob_V / @Bob_V

11/24/2018 at 02:52AM

15
#341 - unclewangshushu / @shuwushu

11/29/2018 at 05:30AM

15
#342 - Shafiq Jetha / @sjetha

12/13/2018 at 10:33PM

15
#343 - aka / @aaik4

12/23/2018 at 02:11AM

15
#344 - daniel / @daniel31464605

12/28/2018 at 07:35AM

15
#345 - Plexigras / @plexigras

12/31/2018 at 01:43PM

15
#346 - Nate / @natedoran

01/01/2019 at 12:30AM

15
#347 - antoine mas / @aneomas

01/05/2019 at 07:57PM

15
#348 - abgalphabet / @abgalphabet

01/12/2019 at 01:32PM

15
#349 - joe / @wyohjoe

01/23/2019 at 11:45AM

15
#350 - Michael Aquilina / @mikeaquilina4

01/27/2019 at 10:29PM

15
#351 - Matti Sairanen / @MattiSairanen

02/09/2019 at 08:39PM

15
#352 - Tim White / @antichrist65535

02/12/2019 at 01:44AM

15
#353 - Loنtre / @OtterPy

04/09/2019 at 10:33AM

15
#354 - Laurent Atlan / @laurentatlan1

04/14/2019 at 07:29PM

15
#355 - Fredrik Bjerkås / @fbjerkas

04/22/2019 at 01:07AM

15
#356 - PJ Frazer / @pj_frazer

04/28/2019 at 11:47PM

15
#357 - Manos Koutselakis / @koutselakis_m

05/05/2019 at 01:02AM

15
#358 - majo senf / @majo_senf

06/14/2019 at 08:31AM

15
#359 - Clint Caudle / @ClintCaudle

07/22/2019 at 05:09AM

15
#360 - Ivo Blöchliger / @aigledesalpes

08/02/2019 at 03:53PM