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 624 remaining solutions by signing in and submitting your own entry
#625 Josh Gruber / @Jevitate - Score: 276 - 01/23/20 @ 02:18
v<Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Del><Down><Up>i_<Down><Left><Esc>v<Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><BS><Right><Del><Down>v<Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Del><Down>v<Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Del><Down>v<Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Del><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Left><Del><Up><Left><Del><Up><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Del><Up><Left><Del><Up><Left><Del>:wq!<CR>

0 comments


Created by: @alvesmarcell

625 active golfers, 2152 entries

Leaderboard (lowest score wins):
13
#181 - Delon / @delonleonard

12/25/2019 at 04:27AM

13
#182 - Bashar Jaan Khan / @basharjaankhan

01/07/2020 at 05:50PM

13
#183 - nicosierra / @nicosierra84

01/09/2020 at 10:18PM

13
#184 - mowglian / @mowglian

01/17/2020 at 02:23PM

14
#185 - Walker Boh / @walker_boh

10/08/2018 at 04:33PM

14
#186 - Andrey / @andreyrmg

10/08/2018 at 04:46PM

14
#187 - PRK / @NoMoTo

10/09/2018 at 05:50AM

14
#188 - towc / @MateiCopot

10/09/2018 at 09:17AM

14
#189 - Edouard Piette / @EdPiette

10/09/2018 at 09:25AM

14
#190 - しーまん / @nemusoudane

10/09/2018 at 11:38AM

14
#191 - Benjamin Kiesl / @BenjaminKiesl

10/09/2018 at 03:16PM

14
#192 - Tomoya Ishihama / @ishmt

10/10/2018 at 04:03AM

14
#193 - 中鉢 洋介 / @cyubachi

10/10/2018 at 06:11AM

14
#194 - Steve Bitner / @fourbitbots

10/11/2018 at 03:43AM

14
#195 - dayshade / @dayshade_7

10/11/2018 at 07:46AM

14
#196 - Maxim Kim / @mxmkm

10/11/2018 at 10:43AM

14
#197 - Pak Wing / @_Pak_Wing_

10/11/2018 at 01:15PM

14
#198 - tPenguinLTG / @tpenguinltg

10/13/2018 at 11:36PM

14
#199 - Thomas Hughes / @ThomasH06049710

10/14/2018 at 01:47PM

14
#200 - GUL / @GUL_THE_TWITTO

10/14/2018 at 03:55PM

14
#201 - Stefan Heyder / @Astheny_

10/15/2018 at 08:47AM

14
#202 - Florent Jaby / @Floby

10/15/2018 at 08:58AM

14
#203 - Juan / @jubujjamer

10/15/2018 at 03:47PM

14
#204 - PCS Solutions / @PeteSolutions

10/16/2018 at 01:45AM

14
#205 - Daniel Hjelm / @dhjelm

10/16/2018 at 07:26PM

14
#206 - Reuben Narkwo / @reubwo

10/16/2018 at 09:03PM

14
#207 - caplod / @caplod

10/16/2018 at 09:05PM

14
#208 - Matheus Rezende / @matheusr_dev

10/18/2018 at 10:57AM

14
#209 - c0llision / @sh3llcode

10/20/2018 at 06:49AM

14
#210 - Andrei Gasparovici / @agasparovici

10/20/2018 at 10:54AM