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

0 comments


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

0 comments


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

0 comments


Created by: @xiongyuwu

155 active golfers, 478 entries

Leaderboard (lowest score wins):
15
#61 - Florian Koch / @Florian27133494

01/09/2019 at 12:58PM

15
#62 - Mike Harris / @MikeMJHarris

01/09/2019 at 03:14PM

15
#63 - abgalphabet / @abgalphabet

01/12/2019 at 05:19AM

15
#64 - PJ Frazer / @pj_frazer

01/14/2019 at 01:27AM

15
#65 - Dax / @zacoxi

01/14/2019 at 05:00AM

15
#66 - LC / @leeren

01/23/2019 at 06:57PM

15
#67 - Daniel Steinberg / @dstein64

01/28/2019 at 06:42AM

15
#68 - tenteke / @kuskus3

01/28/2019 at 01:52PM

15
#69 - 默罕默德 / @Rt6RjEAJ987Woes

01/31/2019 at 01:28PM

15
#70 - xer0.5ive / @Bibekshah

02/02/2019 at 02:18PM

15
#71 - Mateen Ulhaq / @sicariusnoctis

02/12/2019 at 07:36AM

15
#72 - noisevoid / @noisevoid

02/26/2019 at 07:02PM

15
#73 - sjcomp / @sjcomp

02/26/2019 at 07:08PM

15
#74 - Titouan Teyssier / @TitouanT_

03/01/2019 at 09:27PM

15
#75 - Groovy / @groovy9

03/07/2019 at 09:23PM

15
#76 - chenqiqi / @chenqiqi13

03/13/2019 at 06:27AM

15
#77 - enji / @enji_ja

03/18/2019 at 08:54PM

15
#78 - Parsa Amini / @ParsaAmini

03/19/2019 at 06:37PM

15
#79 - Grant / @grant_7788

04/28/2019 at 12:04AM

15
#80 - Arno / @arnoxmp

05/22/2019 at 10:55AM

15
#81 - Nick Yeow / @nickyeow

05/22/2019 at 12:13PM

15
#82 - mkaminaga / @mkmng3

06/08/2019 at 04:27AM

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

06/12/2019 at 03:09PM

15
#84 - Matthew Rossman / @chimpman252

07/27/2019 at 07:59PM

15
#85 - Markus / @ARealAnnoyance

07/31/2019 at 01:30AM

15
#86 - Chester Yap / @Chest_ErYap

08/10/2019 at 01:43PM

15
#87 - Simon Wilkinson / @simondwilkinson

08/24/2019 at 02:48PM

15
#88 - Baine Wedlock / @BaineWedlock

09/24/2019 at 09:26AM

15
#89 - Miko / @_m_ik_o_

10/12/2019 at 04:08PM

15
#90 - Abner jr / @Abnerjr19

10/12/2019 at 05:43PM