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

0 comments


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

0 comments


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

0 comments


Created by: @xiongyuwu

208 active golfers, 662 entries

Leaderboard (lowest score wins):
15
#91 - tenteke / @kuskus3

01/28/2019 at 01:52PM

15
#92 - ι»˜η½•ι»˜εΎ· / @Rt6RjEAJ987Woes

01/31/2019 at 01:28PM

15
#93 - xer0.5ive / @Bibekshah

02/02/2019 at 02:18PM

15
#94 - Mateen Ulhaq / @sicariusnoctis

02/12/2019 at 07:36AM

15
#95 - gravestench / @noisevoid

02/26/2019 at 07:02PM

15
#96 - sjcomp / @sjcomp

02/26/2019 at 07:08PM

15
#97 - πšƒπš’πšπš˜πšžπšŠπš— πšƒπšŽπš’πšœπšœπš’πšŽπš› / @TitouanT_

03/01/2019 at 09:27PM

15
#98 - Groovy / @groovy9

03/07/2019 at 09:23PM

15
#99 - chenqiqi / @chenqiqi13

03/13/2019 at 06:27AM

15
#100 - enji / @enji_ja

03/18/2019 at 08:54PM

15
#101 - Parsa Amini / @ParsaAmini

03/19/2019 at 06:37PM

15
#102 - Grant / @grant_7788

04/28/2019 at 12:04AM

15
#103 - Arno / @arnoxmp

05/22/2019 at 10:55AM

15
#104 - Nick Yeow / @nickyeow

05/22/2019 at 12:13PM

15
#105 - mkaminaga / @mkmng3

06/08/2019 at 04:27AM

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

06/12/2019 at 03:09PM

15
#107 - Matthew Rossman / @chimpman252

07/27/2019 at 07:59PM

15
#108 - Markus / @ARealAnnoyance

07/31/2019 at 01:30AM

15
#109 - Chester Yap / @Chest_ErYap

08/10/2019 at 01:43PM

15
#110 - Simon Wilkinson / @simondwilkinson

08/24/2019 at 02:48PM

15
#111 - Baine Wedlock / @BaineWedlock

09/24/2019 at 09:26AM

15
#112 - Miko / @_m_ik_o_

10/12/2019 at 04:08PM

15
#113 - Abnermtj / @Abnerjr19

10/12/2019 at 05:43PM

15
#114 - Harrison / @ardentcow

10/31/2019 at 06:52AM

15
#115 - James Casey / @hanavi

12/21/2019 at 09:24PM

15
#116 - John Otters / @OttersJohn

12/23/2019 at 07:32PM

15
#117 - TimMcGuire / @mcguire

03/04/2020 at 10:37PM

15
#118 - floyd / @floyd10086

03/20/2020 at 10:05AM

15
#119 - Ryan Nevius / @ryannevius

03/23/2020 at 06:56AM

15
#120 - Moatvald / @moatvald

05/26/2020 at 05:44AM