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 9v006a58d48e00000000080a

Modifying .XCompose

You just wrote some lines in .XCompose, but now you want the compose sequences to be more verbose. Change the compose sequence for each Greek letter to its name.

Start file
<Multi_key> <g> <r> <a> : "α" U3B1 # alpha
<Multi_key> <g> <r> <b> : "β" U3B2 # beta
<Multi_key> <g> <r> <y> : "γ" U3B3 # gamma
<Multi_key> <g> <r> <d> : "δ" U3B4 # delta
<Multi_key> <g> <r> <e> : "ε" U3B5 # epsilon
<Multi_key> <g> <r> <z> : "ζ" U3B6 # zeta
<Multi_key> <g> <r> <n> : "η" U3B7 # eta
<Multi_key> <g> <r> <0> : "θ" U3B8 # theta
<Multi_key> <g> <r> <i> : "ι" U3B9 # iota
<Multi_key> <g> <r> <k> : "κ" U3BA # kappa
<Multi_key> <g> <r> <l> : "λ" U3BB # lambda
<Multi_key> <g> <r> <m> : "μ" U3BC # mu
<Multi_key> <g> <r> <v> : "ν" U3BD # nu
<Multi_key> <g> <r> <x> : "ξ" U3BE # xi
<Multi_key> <g> <r> <o> : "ο" U3BF # omicron
<Multi_key> <g> <r> <p> : "π" U3C0 # pi
<Multi_key> <g> <r> <r> : "ρ" U3C1 # rho
<Multi_key> <g> <r> <s> : "σ" U3C3 # sigma
<Multi_key> <g> <r> <t> : "τ" U3C4 # tau
<Multi_key> <g> <r> <u> : "υ" U3C5 # upsilon
<Multi_key> <g> <r> <f> : "φ" U3C6 # phi
<Multi_key> <g> <r> <X> : "χ" U3C7 # chi
<Multi_key> <g> <r> <W> : "ψ" U3C8 # psi
<Multi_key> <g> <r> <w> : "ω" U3C9 # omega
End file
<Multi_key> <a> <l> <p> <h> <a> : "α" U3B1 # alpha
<Multi_key> <b> <e> <t> <a> : "β" U3B2 # beta
<Multi_key> <g> <a> <m> <m> <a> : "γ" U3B3 # gamma
<Multi_key> <d> <e> <l> <t> <a> : "δ" U3B4 # delta
<Multi_key> <e> <p> <s> <i> <l> <o> <n> : "ε" U3B5 # epsilon
<Multi_key> <z> <e> <t> <a> : "ζ" U3B6 # zeta
<Multi_key> <e> <t> <a> : "η" U3B7 # eta
<Multi_key> <t> <h> <e> <t> <a> : "θ" U3B8 # theta
<Multi_key> <i> <o> <t> <a> : "ι" U3B9 # iota
<Multi_key> <k> <a> <p> <p> <a> : "κ" U3BA # kappa
<Multi_key> <l> <a> <m> <b> <d> <a> : "λ" U3BB # lambda
<Multi_key> <m> <u> : "μ" U3BC # mu
<Multi_key> <n> <u> : "ν" U3BD # nu
<Multi_key> <x> <i> : "ξ" U3BE # xi
<Multi_key> <o> <m> <i> <c> <r> <o> <n> : "ο" U3BF # omicron
<Multi_key> <p> <i> : "π" U3C0 # pi
<Multi_key> <r> <h> <o> : "ρ" U3C1 # rho
<Multi_key> <s> <i> <g> <m> <a> : "σ" U3C3 # sigma
<Multi_key> <t> <a> <u> : "τ" U3C4 # tau
<Multi_key> <u> <p> <s> <i> <l> <o> <n> : "υ" U3C5 # upsilon
<Multi_key> <p> <h> <i> : "φ" U3C6 # phi
<Multi_key> <c> <h> <i> : "χ" U3C7 # chi
<Multi_key> <p> <s> <i> : "ψ" U3C8 # psi
<Multi_key> <o> <m> <e> <g> <a> : "ω" U3C9 # omega

View Diff

1,24c1,24
< <Multi_key> <g> <r> <a> : "α" U3B1 # alpha
< <Multi_key> <g> <r> <b> : "β" U3B2 # beta
< <Multi_key> <g> <r> <y> : "γ" U3B3 # gamma
< <Multi_key> <g> <r> <d> : "δ" U3B4 # delta
< <Multi_key> <g> <r> <e> : "ε" U3B5 # epsilon
< <Multi_key> <g> <r> <z> : "ζ" U3B6 # zeta
< <Multi_key> <g> <r> <n> : "η" U3B7 # eta
< <Multi_key> <g> <r> <0> : "θ" U3B8 # theta
< <Multi_key> <g> <r> <i> : "ι" U3B9 # iota
< <Multi_key> <g> <r> <k> : "κ" U3BA # kappa
< <Multi_key> <g> <r> <l> : "λ" U3BB # lambda
< <Multi_key> <g> <r> <m> : "μ" U3BC # mu
< <Multi_key> <g> <r> <v> : "ν" U3BD # nu
< <Multi_key> <g> <r> <x> : "ξ" U3BE # xi
< <Multi_key> <g> <r> <o> : "ο" U3BF # omicron
< <Multi_key> <g> <r> <p> : "π" U3C0 # pi
< <Multi_key> <g> <r> <r> : "ρ" U3C1 # rho
< <Multi_key> <g> <r> <s> : "σ" U3C3 # sigma
< <Multi_key> <g> <r> <t> : "τ" U3C4 # tau
< <Multi_key> <g> <r> <u> : "υ" U3C5 # upsilon
< <Multi_key> <g> <r> <f> : "φ" U3C6 # phi
< <Multi_key> <g> <r> <X> : "χ" U3C7 # chi
< <Multi_key> <g> <r> <W> : "ψ" U3C8 # psi
< <Multi_key> <g> <r> <w> : "ω" U3C9 # omega
---
> <Multi_key> <a> <l> <p> <h> <a> : "α" U3B1 # alpha
> <Multi_key> <b> <e> <t> <a> : "β" U3B2 # beta
> <Multi_key> <g> <a> <m> <m> <a> : "γ" U3B3 # gamma
> <Multi_key> <d> <e> <l> <t> <a> : "δ" U3B4 # delta
> <Multi_key> <e> <p> <s> <i> <l> <o> <n> : "ε" U3B5 # epsilon
> <Multi_key> <z> <e> <t> <a> : "ζ" U3B6 # zeta
> <Multi_key> <e> <t> <a> : "η" U3B7 # eta
> <Multi_key> <t> <h> <e> <t> <a> : "θ" U3B8 # theta
> <Multi_key> <i> <o> <t> <a> : "ι" U3B9 # iota
> <Multi_key> <k> <a> <p> <p> <a> : "κ" U3BA # kappa
> <Multi_key> <l> <a> <m> <b> <d> <a> : "λ" U3BB # lambda
> <Multi_key> <m> <u> : "μ" U3BC # mu
> <Multi_key> <n> <u> : "ν" U3BD # nu
> <Multi_key> <x> <i> : "ξ" U3BE # xi
> <Multi_key> <o> <m> <i> <c> <r> <o> <n> : "ο" U3BF # omicron
> <Multi_key> <p> <i> : "π" U3C0 # pi
> <Multi_key> <r> <h> <o> : "ρ" U3C1 # rho
> <Multi_key> <s> <i> <g> <m> <a> : "σ" U3C3 # sigma
> <Multi_key> <t> <a> <u> : "τ" U3C4 # tau
> <Multi_key> <u> <p> <s> <i> <l> <o> <n> : "υ" U3C5 # upsilon
> <Multi_key> <p> <h> <i> : "φ" U3C6 # phi
> <Multi_key> <c> <h> <i> : "χ" U3C7 # chi
> <Multi_key> <p> <s> <i> : "ψ" U3C8 # psi
> <Multi_key> <o> <m> <e> <g> <a> : "ω" U3C9 # omega

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 7 remaining solutions by signing in and submitting your own entry
#8 bemmesr / @bemmesr - Score: 39 - 07/17/26 @ 11:12
qq$yiwo<fd-6b>p:s/./<&> /g<CR>Dkf<vt:pjddq23@qZZ

@bemmesr: My original attempt was 60 keystrokes! For some reason I was splitting the substitution into two, among other smaller errors.

1 comment


#9 Alex / @AlexanderHeatl2 - Score: 39 - 07/26/26 @ 22:37
qq$yiwo<Esc>p:s/./<&> /g<CR>Dkf<vt:pjddq99@qZZ

0 comments


#10 Bartek Rzepala / @jeanpi101 - Score: 39 - 07/31/26 @ 09:10
qq$yiwo<Esc>p:s/./<&> /g<CR>Dkf<vt:pjddq30@qZZ

0 comments


Created by: @bemmesr

10 active golfers, 33 entries

Leaderboard (lowest score wins):
33
#1 - wpr__ / @wpr____

07/20/2026 at 09:53PM

33
#2 - JCapretta / @JCapretta

07/24/2026 at 11:10AM

33
#3 - Kai Nakamura / @Uniyo-Ltd

07/29/2026 at 08:52AM

33
#4 - AnTuA / @xAnTuA

08/04/2026 at 05:20PM

35
#5 - MartinDanesh / @MartinDanesh

07/18/2026 at 12:48PM

35
#6 - “Smylers” / @Smylers2

07/20/2026 at 03:58PM

35
#7 - Alex Litchev / @alunity

07/21/2026 at 10:27PM

39
#8 - bemmesr / @bemmesr

07/17/2026 at 11:12AM

39
#9 - Alex / @AlexanderHeatl2

07/26/2026 at 10:37PM

39
#10 - Bartek Rzepala / @jeanpi101

07/31/2026 at 09:10AM