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

Change part of a function name in multiple occurrences

Change the middle part of the function name in multiple places, preferably using the next and dot commands.

Start file
call_this_function()

_this_
  
  call_this_function()

 _this_

 call_this_function()
End file
call_that_function()

_this_
  
  call_that_function()

 _this_

 call_that_function()

View Diff

1c1
< call_this_function()
---
> call_that_function()
5c5
<   call_this_function()
---
>   call_that_function()
9c9
<  call_this_function()
---
>  call_that_function()

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 143 remaining solutions by signing in and submitting your own entry
#144 Nick Lucent / @NickLucent - Score: 26 - 02/22/19 @ 07:21
:%s/l_this_f/l_that_f/g<CR>ZZ

0 comments


#145 Phoon / @justflashhim - Score: 26 - 05/10/19 @ 16:27
:%s/l_this_f/l_that_f/g<CR>ZZ

0 comments


#146 Patryk Jachowski / @y4ch_ - Score: 26 - 09/17/19 @ 10:01
/ca<CR>ctfcall_that_<Esc>n.n.:wq<CR>

0 comments


Created by: @xiongyuwu

146 active golfers, 439 entries

Leaderboard (lowest score wins):
15
#61 - Dax / @zacoxi

01/14/2019 at 05:00AM

15
#62 - LC / @leeren

01/23/2019 at 06:57PM

15
#63 - Daniel Steinberg / @dstein64

01/28/2019 at 06:42AM

15
#64 - tenteke / @kuskus3

01/28/2019 at 01:52PM

15
#65 - 默罕默德 / @Rt6RjEAJ987Woes

01/31/2019 at 01:28PM

15
#66 - xer0.5ive / @Bibekshah

02/02/2019 at 02:18PM

15
#67 - Mateen Ulhaq / @sicariusnoctis

02/12/2019 at 07:36AM

15
#68 - noisevoid / @noisevoid

02/26/2019 at 07:02PM

15
#69 - sjcomp / @sjcomp

02/26/2019 at 07:08PM

15
#70 - Titouan Teyssier / @TitouanT_

03/01/2019 at 09:27PM

15
#71 - Groovy / @groovy9

03/07/2019 at 09:23PM

15
#72 - chenqiqi / @chenqiqi13

03/13/2019 at 06:27AM

15
#73 - enji / @enji_ja

03/18/2019 at 08:54PM

15
#74 - Parsa Amini / @ParsaAmini

03/19/2019 at 06:37PM

15
#75 - Grant / @grant_7788

04/28/2019 at 12:04AM

15
#76 - Arno / @arnoxmp

05/22/2019 at 10:55AM

15
#77 - Nick Yeow / @nickyeow

05/22/2019 at 12:13PM

15
#78 - mkaminaga / @mkmng3

06/08/2019 at 04:27AM

15
#79 - duyanh.y4n.pham / @PhamY4n

06/12/2019 at 03:09PM

15
#80 - Matthew Rossman / @chimpman252

07/27/2019 at 07:59PM

15
#81 - Markus / @ARealAnnoyance

07/31/2019 at 01:30AM

15
#82 - Chester Yap / @Chest_ErYap

08/10/2019 at 01:43PM

15
#83 - Simon Wilkinson / @simondwilkinson

08/24/2019 at 02:48PM

16
#84 - omrisarig / @omrisarig

12/28/2018 at 04:53PM

16
#85 - Dany Alexander Caro Saavedra / @DanyAlexanderC7

12/28/2018 at 09:32PM

16
#86 - Alex Standke / @xanderstrike

12/28/2018 at 11:59PM

16
#87 - TimMcGuire / @mcguire

12/31/2018 at 10:28PM

16
#88 - Aru / @IAmAru

01/01/2019 at 02:58AM

16
#89 - Gilad Slonim / @SlonimGilad

01/01/2019 at 07:20PM

16
#90 - Slawek Ligus / @ooz_ie

01/03/2019 at 05:54AM