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

swap number pairs

Swap the numbers in a bunch of 2-element arrays.

Start file
[2, 1], [5, 4]
[6, 3]
[7, 4]
[8, 2], [12, 11]
End file
[1, 2], [4, 5]
[3, 6]
[4, 7]
[2, 8], [11, 12]

View Diff

1,4c1,4
< [2, 1], [5, 4]
< [6, 3]
< [7, 4]
< [8, 2], [12, 11]
---
> [1, 2], [4, 5]
> [3, 6]
> [4, 7]
> [2, 8], [11, 12]

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 297 remaining solutions by signing in and submitting your own entry
#298 Andrii Soldatenko / @a_soldatenko - Score: 143 - 11/16/20 @ 14:11
:<50-53>nnoremap <silent> gl "_yiw:s/\(\%#\w\+\)\(\_W\+\)\(\w\+\)/\3\2\1/<CR><c-o>/\w\+\_W\+<CR><c-l><CR><Esc>[201~<CR><Right>gl<Up><Right><Right><Right><Right><Right><Right><Right><Right><Right>.gl<Right>gl<Right>glgl<Right>gl<Right><Right><Right><Right><Right>gl<Esc>:wq!<CR>

0 comments


Created by: @wedesoft

298 active golfers, 1609 entries

Leaderboard (lowest score wins):
18
#91 - Ceda EI / @ceda_ei

11/10/2020 at 01:38PM

18
#92 - Saki Gw / @Sakigw

11/12/2020 at 02:06PM

18
#93 - David Kutschke / @D4KU_

11/12/2020 at 10:01PM

18
#94 - Andreas Siegrist / @andreaszwei

11/15/2020 at 12:33AM

18
#95 - Jonáš Šerých / @serycjon

11/15/2020 at 06:08PM

18
#96 - chocolate / @chocola81394123

11/18/2020 at 06:25AM

18
#97 - kse / @kse92733183

11/18/2020 at 04:01PM

18
#98 - ZackBurtAWS / @ZackBurtSDE

11/18/2020 at 04:10PM

18
#99 - Patty (Dionísio) / @patrickvillela

11/18/2020 at 07:01PM

18
#100 - Tyler Holien / @tylerholien

11/19/2020 at 01:17AM

18
#101 - OtterPy / @OtterPy

01/26/2021 at 03:27PM

18
#102 - grsh / @girish_i_am

05/27/2021 at 08:07AM

18
#103 - Михаил Чупринский / @nelser_by

10/09/2021 at 09:56PM

18
#104 - Jean George / @JeanGeo20504212

10/23/2021 at 11:36PM

18
#105 - Nils Melchert / @NilsMelchert

03/14/2022 at 03:33PM

18
#106 - Дмитрий Инютин / @DmitrijInutin

06/15/2022 at 09:41PM

19
#107 - Kapildev Neupane / @KapildevNeupane

01/01/2021 at 10:44AM

19
#108 - Björn Struckmeier / @BjrnStruckmeie1

01/03/2021 at 04:55PM

19
#109 - zapakh / @zapakh

01/21/2021 at 05:42AM

20
#110 - Demian Martinez / @demianuco

12/09/2020 at 06:13PM

20
#111 - $HA-|| / @s_k0731

01/01/2022 at 02:59AM

20
#112 - ShookerAndBeta / @Shooker2012

06/06/2022 at 07:18PM

21
#113 - Bruce Woodward / @b00ffer

11/11/2020 at 10:26AM

21
#114 - Marcin Szamotulski / @me_coot

11/11/2020 at 07:01PM

21
#115 - Arne Winter / @ArneWinter5

11/19/2020 at 01:31PM

21
#116 - Vio / @vioxcd

11/23/2020 at 05:44PM

21
#117 - Askhento / @Askhento1

01/26/2021 at 12:47AM

21
#118 - Alessandro Cantini / @aecant

10/06/2021 at 05:25PM

21
#119 - Arthur DELORT / @artDelort

06/15/2022 at 03:49PM

22
#120 - Aioriya / @AioriyaDonk

11/14/2020 at 11:29PM