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 89 remaining solutions by signing in and submitting your own entry
#90 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

90 active golfers, 291 entries

Leaderboard (lowest score wins):
24
#31 - Jon Krause / @jkrause314

12/16/2020 at 03:48AM

24
#32 - Jung Yeon Park / @park_jungy

02/16/2021 at 11:50PM

24
#33 - hepebexè / @hepebexe

03/05/2021 at 10:01AM

24
#34 - A A A / @37fatos

03/13/2021 at 02:44AM

25
#35 - Vaughn Cato / @vaughncato

07/21/2017 at 01:48PM

25
#36 - huho / @huho_xu

07/26/2017 at 08:49PM

25
#37 - Baine Wedlock / @BaineWedlock

08/10/2017 at 08:30PM

25
#38 - François Marais / @maraisf

04/03/2018 at 04:47PM

25
#39 - DHM / @DHM29978992

04/25/2018 at 04:06AM

25
#40 - Mihai / @mihaicristiant

12/28/2018 at 03:56PM

25
#41 - Ivo Blöchliger / @aigledesalpes

08/23/2019 at 11:49AM

25
#42 - Lory / @Lory46845742

11/26/2019 at 02:08PM

25
#43 - chocolate / @chocola81394123

10/28/2020 at 09:07AM

26
#44 - Jan Bundesmann / @janbundesmann

07/21/2017 at 08:50AM

26
#45 - Gurukandhamoorthi / @Gurukandhamoor1

07/21/2017 at 02:33PM

26
#46 - Jorge / @jherreso

07/26/2017 at 06:33AM

26
#47 - えるざっぷ / @_elzup_

07/31/2017 at 02:25AM

26
#48 - Benoit Mortgat / @Benoit_Mortgat

11/14/2017 at 12:41PM

27
#49 - Jonathan Eidsness / @jonathaneidsnes

07/25/2017 at 03:00PM

27
#50 - Ben Hill / @KaizenSoze70

10/11/2017 at 11:46AM

28
#51 - John Nguyen / @nguyeness

07/21/2017 at 03:15PM

28
#52 - jl / @jl4096

07/21/2017 at 07:14PM

28
#53 - zhangxspace / @zhangxspace1

07/25/2017 at 06:28AM

28
#54 - Joonas Pihlajamaa / @jokkebk

08/03/2017 at 12:01PM

29
#55 - Brian Hall / @_bruab_

07/21/2017 at 03:24PM

29
#56 - Robert Mosher / @rcmosher

07/21/2017 at 05:31PM

29
#57 - Geoff / @RealGeoffErwin

10/06/2017 at 04:13PM

30
#58 - Michael Foley / @m1foley

07/20/2017 at 11:54PM

30
#59 - Cristian Lupașcu / @clupasq

07/21/2017 at 06:53AM

30
#60 - Igor Czerwinski / @igoratron

09/18/2017 at 09:43PM