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 59713ae5bb056f16b6000002

Hello ${world}

Migrate a JavaScript String from concatenation to ES6 interpolation.

Start file
let world = 'world';
console
.log('hello ' + world);
console
.log('bye ' + world + '!');
End file
let world = 'world';
console
.log(`hello ${world}`);
console
.log(`bye ${world}!`);

View Diff

2,3c2,3
< console.log('hello ' + world);
< console.log('bye ' + world + '!');
---
> console.log(`hello ${world}`);
> console.log(`bye ${world}!`);

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 95 remaining solutions by signing in and submitting your own entry
#96 Robbin Schepers / @Roboroads - Score: 137 - 07/21/17 @ 11:51
kjf+_f+a<BS><BS><BS>${<Del><Esc>LJkA<Esc>jkjkhi}'<BS>`<Esc>hhjkhhhhhhhhhhhh<BS>li<BS>`<Esc>kjjli<BS>`<Esc>llllllllllllllllllvF'nhhhhhhhhhhhh$hhhhhhhhhhhhhhhhhc${world{<BS>}<Del>`<BS>!`<Esc>:w<CR>:wq<CR>

0 comments


Created by: @juancolacelli

96 active golfers, 324 entries

Leaderboard (lowest score wins):
29
#61 - Robert Mosher / @rcmosher

07/21/2017 at 05:31PM

29
#62 - Geoff / @RealGeoffErwin

10/06/2017 at 04:13PM

30
#63 - Michael Foley / @m1foley

07/20/2017 at 11:54PM

30
#64 - Cristian Lupașcu / @clupasq

07/21/2017 at 06:53AM

30
#65 - Igor Czerwinski / @igoratron

09/18/2017 at 09:43PM

31
#66 - Ron Alexssen / @Ralexhere

10/30/2017 at 07:04AM

32
#67 - Ricardo M. Vilchis / @ajkaanbal

07/21/2017 at 10:31PM

32
#68 - Михаил Доронин / @Boris_B_London

07/23/2017 at 10:45AM

32
#69 - James / @Dronak

08/28/2017 at 01:40AM

32
#70 - Vimfiz / @vimfiz

06/07/2019 at 05:22PM

32
#71 - roudens / @roudens2

05/16/2021 at 04:23AM

33
#72 - Eric Potter / @pottereric

07/22/2017 at 07:15PM

33
#73 - Edan Sneh / @edan_sneh

07/23/2017 at 09:33PM

33
#74 - Solomon / @Trugbildjaeger

08/25/2017 at 10:43AM

33
#75 - RockerZZY / @rocker_zzy

06/22/2020 at 11:38PM

35
#76 - Adam Kożuch / @adamkozuch

08/16/2017 at 07:13AM

37
#77 - Rahul Gupta 🎹 / @pezcoder

07/26/2017 at 09:16PM

39
#78 - 黒澤亮二 / @rjkuro

07/21/2017 at 02:49PM

45
#79 - Charlie OConor / @charlieoconor

09/29/2017 at 02:52PM

45
#80 - Ron Holt / @ron_holt

08/15/2019 at 03:51PM

45
#81 - The Valencian Dev / @thevalenciandev

10/15/2020 at 07:25PM

46
#82 - Clay Thomas / @CHThomas95

07/21/2017 at 10:06PM

46
#83 - Juan Colacelli / @juancolacelli

07/23/2017 at 11:44AM

52
#84 - Alex Gunning / @XelaGninnug

09/08/2017 at 03:21PM

56
#85 - Muhsin AbdulMohammed / @muhsin____

08/16/2020 at 11:43AM

61
#86 - Paul Inc / @hiniol1982

08/01/2017 at 08:31PM

62
#87 - Borna Sadeghi / @borna_sadeghi

03/01/2021 at 09:15PM

64
#88 - Peter / @PeterHartshorn

03/28/2018 at 12:42PM

66
#89 - 杨洋 / @176795444

08/13/2017 at 08:40AM

70
#90 - Vasily Novikov / @helensw06796314

08/07/2017 at 05:20PM