Real Vim ninjas count every keystroke - do you?

Pick a challenge, fire up Vim, and show us what you got.

Leaderboard, Changelog, Rules & FAQ, updates: @vimgolf, RSS.

Your VimGolf key: please sign in

$ gem install vimgolf
$ vimgolf setup
$ vimgolf put 50502d985cfbf50002000022

NATO phonetic alphabet

Transform the series of words into a list.

Start file
Alfa Bravo Charlie Delta Echo Foxtrot Golf Hotel India Juliet Kilo Lima Mike November Oscar Papa Quebec Romeo Sierra Tengo Uniform Victor Whiskey Xray Yankee Zulu
End file
A = Alfa
B = Bravo
C = Charlie
D = Delta
E = Echo
F = Foxtrot
G = Golf
H = Hotel
I = India
J = Juliet
K = Kilo
L = Lima
M = Mike
N = November
O = Oscar
P = Papa
Q = Quebec
R = Romeo
S = Sierra
T = Tengo
U = Uniform
V = Victor
W = Whiskey
X = Xray
Y = Yankee
Z = Zulu

View Diff

diff --git a/input.txt b/output.txt
index 0a4121f..1ab8b7c 100644
--- a/input.txt
+++ b/output.txt
@@ -1 +1,26 @@
A = Alfa
B = Bravo
C = Charlie
D = Delta
E = Echo
F = Foxtrot
G = Golf
H = Hotel
I = India
J = Juliet
K = Kilo
L = Lima
M = Mike
N = November
O = Oscar
P = Papa
Q = Quebec
R = Romeo
S = Sierra
T = Tengo
U = Uniform
V = Victor
W = Whiskey
X = Xray
Y = Yankee
Z = Zulu

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 106 remaining solutions by signing in and submitting your own entry
#107 Bart of Denver / @bartofdenver - Score: 25 - 08/13/13 @ 03:58
:%s/ /\r/g<CR><C-V>ggYP<C-V>GA = <Esc>ZZ

0 comments

#108 cj / @cj01101 - Score: 25 - 08/20/13 @ 17:38
:s/ /<C-V><CR>/g<CR><C-V>ggYp<C-V>GlI = <Esc>ZZ

0 comments

#109 Dave Aitken / @actionshrimp - Score: 25 - 08/27/13 @ 19:30
<CR>:s/ /\r/g<CR><C-V>ggyP<C-V>GA = <Esc>ZZ

0 comments

#110 Sam Burk / @smwbk - Score: 25 - 12/21/13 @ 23:12
:%s/ /\r/g<CR><C-V>ggypgvA = <Esc>ZZ

0 comments

#111 r. / @rmarvie - Score: 25 - 12/20/14 @ 22:01
qqy Pa = <C-O>w<BS><CR><Esc>[email protected]

0 comments

#112 Piotr Śniegowski / @PiotrSniegowski - Score: 26 - 06/06/13 @ 12:53
:s/\ /\r/g<CR><C-V>ggyp<C-V>G I = <Esc>ZZ

0 comments

#113 Jonathan / @jmcphers - Score: 26 - 08/16/16 @ 21:23
:s/ /<C-V><CR>/g<CR><C-V>ggyp<C-V>GlI = <Esc>jZZ

0 comments

#114 Felipe Jaramillo F / @mrfelipe - Score: 27 - 05/06/14 @ 04:12
:%s/ /\r/g<CR><CR><C-V>ggYp<C-V>GlI = <Esc>ZZ

0 comments

#115 Alishah Chator / @alicharizard - Score: 27 - 06/09/14 @ 14:31
qqy pi = <Esc>wwi<BS><CR><Esc>[email protected]<BS>l<Esc>ZZ

0 comments

#116 Krzysiek / @krzlew - Score: 28 - 09/16/12 @ 07:52
:s/ *\(\u\)/\r\1 = \1/g<CR><C-O>JZZ

0 comments

#117 Nicolas Friedli / @NicolasFriedli - Score: 28 - 10/29/12 @ 16:40
:%s/ /<C-V><CR>/g<CR><C-V>ggyP<Right><C-V>G<Right>I = <Esc><Down>ZZ

0 comments

#118 Joshua Travis / @jktravis - Score: 28 - 11/07/12 @ 01:40
quvyea<CR><Esc>kPa = <Esc>[email protected]:wq<CR>

0 comments

#119 Michael / @patheticpat - Score: 28 - 12/17/12 @ 13:47
:s/\u/& = &/g<CR>qq2elr<CR>[email protected]

0 comments

#120 Claudio Ortolina / @cloud8421 - Score: 28 - 08/27/13 @ 18:45
:s/ /\r/g<CR>qqyla = <Esc>[email protected]

0 comments

#121 Oliver Christ / @0liverChrist - Score: 28 - 10/04/13 @ 22:24
:s/ /\r/g<CR>qavyPa = <Esc>[email protected]

0 comments

#122 Ian Pudney / @IanPudney - Score: 29 - 06/09/14 @ 14:19
:s/ *\(\u\)/\r\1 = \1/g<CR>HddZZ

0 comments

#123 Miguel Sánchez / @miguelsr1987 - Score: 30 - 10/03/12 @ 18:55
qqylpi = <Esc>wwhxi<CR><Esc>[email protected] = <Esc>ZZ

0 comments

#124 makala noble / @mnoble01 - Score: 30 - 11/13/12 @ 11:15
qqxPPa = <Esc>wwhxi<CR><Esc>[email protected]<Esc>ZZ

0 comments

#125 Kerry Burke / @kurver - Score: 32 - 09/14/12 @ 21:42
qqylpi = <Esc>wwhxi<CR><Esc>[email protected] = <Esc>:wq<CR>

0 comments

#126 Brandon Frazier / @uhok - Score: 32 - 09/29/12 @ 03:45
qaxPPa \ <BS><BS>= <Esc>wwlhhxi<CR><Esc>[email protected]@aZZ

0 comments

#127 Kohei Yamamoto / @k_ymmt - Score: 32 - 06/22/13 @ 14:52
:%s/ /<C-V><CR>/g<CR>:%s/^\(.\)/\1 = \1<CR>ZZ

0 comments

#128 Connie Qi / @connieqi - Score: 32 - 06/09/14 @ 14:36
:s/\>./\r/g<CR>:s<BS>%s/\<./& = &/g<CR>ZZ

0 comments

#129 Kamil Krzyżanowski / @kamnxt - Score: 33 - 03/14/14 @ 17:42
:s/ //g<CR>:s/[A-Z]/\r& = &/g<CR>ggddZZ

0 comments

#130 Jordan Eldredge / @captbaritone - Score: 34 - 09/13/12 @ 09:52
:s/\v(.)(\w+) ?/\1 = \1\2\r/g<CR>ddZZ

0 comments

#131 Pradeep Kumar / @pradeep6kumar - Score: 34 - 12/11/12 @ 12:23
:%s/\s/\r/g<CR><C-V>25ky<C-V>25jI = <Esc>^hP<Esc>:wq<CR>

0 comments

#132 Hyper Bovine / @hyperbovine - Score: 34 - 01/29/14 @ 05:24
:%s/\v((\w)\w+) ?/\2 = \1\r/g<CR>ddZZ

0 comments

#133 Ravi S Sinha / @ambidextrousTx - Score: 41 - 09/12/12 @ 22:52
:%s/ /\r/g<CR>qaxPa = <Esc>pqk0vgg:norm @a<CR><Esc>:wq<CR>

0 comments

Created by: @DiffJunk

133 active golfers, 317 entries

Leaderboard (lowest score wins):
19
#1 - Urtica dioica / @udioica

09/12/2012 at 08:27AM

19
#2 - Domon / @Domon

09/12/2012 at 09:48AM

19
#3 - Tim Chase / @gumnos

09/12/2012 at 11:12AM

19
#4 - Jiří Chára / @JiriChara

09/12/2012 at 02:45PM

19
#5 - Peter Lacey-Bordeaux / @placeybordeaux

10/01/2012 at 03:25PM

19
#6 - Victor Ramirez / @virako

10/20/2012 at 12:21AM

19
#7 - Ilya Ermolin / @ermolinis

10/25/2012 at 06:40AM

19
#8 - Steve Tjoa / @stevetjoa

02/04/2013 at 08:37PM

19
#9 - Tyler / @tylerbindon

04/06/2013 at 03:24AM

19
#10 - Marco Hinz / @_mhinz_

05/23/2013 at 08:21PM

19
#11 - wushexu / @wushexu

05/25/2013 at 02:09PM

19
#12 - Petro Тrouq / @zulolosi

06/19/2013 at 09:43PM

19
#13 - James Davis / @tripvg

06/26/2013 at 09:06PM

19
#14 - Bradd Szonye / @bszonye

07/15/2013 at 03:06AM

19
#15 - Drew Neil / @nelstrom

08/27/2013 at 09:56AM

19
#16 - Karun Ramakrishnan / @the_karun

01/17/2014 at 06:59AM

19
#17 - Xelrifos / @Xelrifos

02/22/2014 at 08:03PM

19
#18 - Milind Ganjoo / @mganjoo

03/03/2014 at 12:06AM

19
#19 - ZorgroZ / @ZorgroZ

04/12/2014 at 07:13PM

19
#20 - John Braxler / @braxler

04/29/2014 at 12:44PM

19
#21 - BJ Terry / @ThatBJTerry

05/21/2014 at 06:13AM

19
#22 - Alexander Kazakov / @volandkot

04/03/2015 at 02:00PM

19
#23 - pftb12345 / @pftb12345

04/14/2015 at 11:49AM

19
#24 - David Nguyen / @nguydavi

06/14/2015 at 11:00AM

19
#25 - Robert Goeddel / @f0rdpr3fect

11/13/2015 at 08:11PM

19
#26 - Sam Stites / @SamStites

12/25/2015 at 06:15AM

19
#27 - Framecurrent / @framecurrent

12/26/2015 at 01:02AM

19
#28 - Jon Krause / @jkrause314

01/01/2016 at 12:29AM

19
#29 - Ikypiky / @nerdbeereis

06/16/2016 at 08:54AM

20
#30 - S. Brent Faulkner / @sbfaulkner

09/14/2012 at 03:54PM

20
#31 - Matt Robbins / @mcrmfc

11/26/2014 at 06:04PM

21
#32 - Kerson Hsiao / @KersonHsiao

09/12/2012 at 07:33AM

21
#33 - Tesnorth / @Tesnorth

09/12/2012 at 09:14AM

21
#34 - Joachim / @jodles89

09/12/2012 at 06:48PM

21
#35 - cameron / @cameronaustgen

09/13/2012 at 01:12AM

21
#36 - tmr / @tmr314

09/14/2012 at 06:28PM

21
#37 - Justin Love / @wondible

09/15/2012 at 03:02AM

21
#38 - Mihai Mazilu / @mtmazilu

09/21/2012 at 02:41PM

21
#39 - Federico Bond / @federicobond

09/23/2012 at 04:48AM

21
#40 - Carsten Zimmermann / @carpgezwitscher

09/28/2012 at 12:19PM

21
#41 - Andrea Francia / @andreafrancia

10/06/2012 at 12:39PM

21
#42 - Édouard M'tou / @DouardM

10/08/2012 at 06:16PM

21
#43 - Tom Cammann / @tea_sea

10/09/2012 at 11:01PM

21
#44 - Marcin Sza / @coot_

10/14/2012 at 10:20AM

21
#45 - Serge Pirotte / @SergePirotte

10/18/2012 at 06:20PM

21
#46 - A / @a_akessler

11/02/2012 at 05:43PM

21
#47 - Leo Bärring / @sevminjis

11/07/2012 at 02:47PM

21
#48 - Kenneth Waters / @gen_witt

11/13/2012 at 10:28PM

21
#49 - Murali Suriar / @msuriar

11/17/2012 at 10:48AM

21
#50 - Eric Andres / @eric_m_andres

12/05/2012 at 04:55PM

21
#51 - Tom Sisk / @TomSisk

12/09/2012 at 06:36PM

21
#52 - Yann Moisan / @YannMoisan

01/04/2013 at 10:59PM

21
#53 - Christopher Harrison / @Xophmeister

01/29/2013 at 11:26AM

21
#54 - Trevor Powell / @DoomedBunnies

03/20/2013 at 02:32AM

21
#55 - retired account / @retired10072015

09/19/2013 at 06:21PM

21
#56 - brett / @brettyukich

09/22/2013 at 01:56PM

21
#57 - Joe T / @h2g2guy

11/01/2013 at 06:14AM

21
#58 - US Dollar Price / @USDollarPrice

11/06/2013 at 07:43AM

21
#59 - Zach Kemp / @zvksf

12/24/2013 at 05:39AM

21
#60 - Alessandro Lisander / @wuiimu

01/06/2014 at 01:02AM

21
#61 - Quota / @Quotad

02/19/2014 at 02:16PM

21
#62 - Joonas Pihlajamaa / @jokkebk

02/23/2014 at 11:58AM

21
#63 - Thomas GUILLORY / @thomasguillory

03/11/2014 at 05:43PM

21
#64 - Leeren / @Leeren

08/10/2014 at 02:23AM

21
#65 - Michael Comerford / @MComerford1

09/26/2014 at 12:01PM

21
#66 - Matthieu Crapet / @mcr05

12/12/2014 at 11:09AM

21
#67 - Skúli Jóhannsson / @skulibj

06/28/2015 at 08:42PM

21
#68 - Walker Boh / @walker_boh

11/26/2015 at 09:59AM

21
#69 - Cristian Lupașcu / @clupasq

03/05/2016 at 10:33PM

22
#70 - Chris Brown / @engineercyb

09/12/2012 at 06:23PM

22
#71 - Axl Waii / @axlwaii

09/28/2012 at 12:44PM

22
#72 - RobertT / @techrt2050

08/07/2013 at 06:09AM

22
#73 - Rob Glew / @RealGlew

06/09/2014 at 01:53PM

22
#74 - deris / @deris0126

11/07/2014 at 08:42PM

22
#75 - w1zeman1p / @wizemanip

11/18/2014 at 05:29PM

22
#76 - TheProgrammer971 / @tp971

03/14/2015 at 11:16PM

23
#77 - Conner McDaniel / @connermcd

09/12/2012 at 02:23PM

23
#78 - Lance Levine / @LanceSMLevine

10/10/2012 at 05:24AM

23
#79 - Einar Lielmanis / @spicausis

11/07/2012 at 03:41PM

23
#80 - Oh fear / @ohfear_num

11/29/2012 at 05:38AM

23
#81 - Jonathan Kim / @jonnykim

08/27/2013 at 06:40PM

23
#82 - isayoldchap / @isayoldchap

09/23/2013 at 02:49AM

23
#83 - Pedro Franceschi / @pedroh96

10/05/2013 at 04:01PM

23
#84 - Kyle Travis / @kmakai

05/17/2014 at 05:52AM

23
#85 - Justin Knag / @justinknag

08/30/2014 at 12:28AM

23
#86 - Etienne Fux / @etiennefux

10/09/2014 at 12:12PM

23
#87 - Jose Gutierrez / @Jogusa

10/22/2014 at 05:07PM

23
#88 - Malte R / @maltoe

11/12/2014 at 08:08AM

23
#89 - William Ott / @oddalot

04/12/2015 at 06:59PM

23
#90 - George Angelopoulos / @g_usermod

08/05/2016 at 11:06AM

24
#91 - h_east (DDD ready) / @h_east

09/12/2012 at 07:17AM

24
#92 - 無ん垢の叫び / @john_ababa

09/16/2012 at 10:41AM

24
#93 - Vasil Sakarov / @vsakarov

09/20/2012 at 01:45PM

24
#94 - Damien Chilot / @duser_2

10/06/2012 at 08:28PM

24
#95 - usrbin / @notusrbin

10/19/2012 at 01:01AM

24
#96 - Underhill Labs / @underhilllabs

10/29/2012 at 03:02PM

24
#97 - G. Ahtune / @gahtune

11/04/2012 at 04:07PM

24
#98 - Bunwut Tson / @NbTson

11/07/2012 at 01:22PM

24
#99 - n0nick / @n0nick

11/19/2012 at 02:08PM

24
#100 - José Mota / @josemotanet

11/25/2012 at 10:33PM

24
#101 - Woojung Kim 김우중 / @_kimwz

07/16/2013 at 02:03AM

24
#102 - James / @Dronak

09/17/2013 at 02:43AM

24
#103 - Quinn McHenry / @qmchenry

11/28/2014 at 08:34PM

24
#104 - ltn614 / @ltn614

09/28/2015 at 11:01AM

25
#105 - Rodolphe Belouin / @rbelouin

09/20/2012 at 02:31PM

25
#106 - Runar / @runarfu

01/11/2013 at 05:15PM

25
#107 - Bart of Denver / @bartofdenver

08/13/2013 at 03:58AM

25
#108 - cj / @cj01101

08/20/2013 at 05:38PM

25
#109 - Dave Aitken / @actionshrimp

08/27/2013 at 07:30PM

25
#110 - Sam Burk / @smwbk

12/21/2013 at 11:12PM

25
#111 - r. / @rmarvie

12/20/2014 at 10:01PM

26
#112 - Piotr Śniegowski / @PiotrSniegowski

06/06/2013 at 12:53PM

26
#113 - Jonathan / @jmcphers

08/16/2016 at 09:23PM

27
#114 - Felipe Jaramillo F / @mrfelipe

05/06/2014 at 04:12AM

27
#115 - Alishah Chator / @alicharizard

06/09/2014 at 02:31PM

28
#116 - Krzysiek / @krzlew

09/16/2012 at 07:52AM

28
#117 - Nicolas Friedli / @NicolasFriedli

10/29/2012 at 04:40PM

28
#118 - Joshua Travis / @jktravis

11/07/2012 at 01:40AM

28
#119 - Michael / @patheticpat

12/17/2012 at 01:47PM

28
#120 - Claudio Ortolina / @cloud8421

08/27/2013 at 06:45PM

28
#121 - Oliver Christ / @0liverChrist

10/04/2013 at 10:24PM

29
#122 - Ian Pudney / @IanPudney

06/09/2014 at 02:19PM

30
#123 - Miguel Sánchez / @miguelsr1987

10/03/2012 at 06:55PM

30
#124 - makala noble / @mnoble01

11/13/2012 at 11:15AM

32
#125 - Kerry Burke / @kurver

09/14/2012 at 09:42PM

32
#126 - Brandon Frazier / @uhok

09/29/2012 at 03:45AM

32
#127 - Kohei Yamamoto / @k_ymmt

06/22/2013 at 02:52PM

32
#128 - Connie Qi / @connieqi

06/09/2014 at 02:36PM

33
#129 - Kamil Krzyżanowski / @kamnxt

03/14/2014 at 05:42PM

34
#130 - Jordan Eldredge / @captbaritone

09/13/2012 at 09:52AM

34
#131 - Pradeep Kumar / @pradeep6kumar

12/11/2012 at 12:23PM

34
#132 - Hyper Bovine / @hyperbovine

01/29/2014 at 05:24AM

41
#133 - Ravi S Sinha / @ambidextrousTx

09/12/2012 at 10:52PM