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

Fix the git merge conflicts

Solve the merge conflicts in the Python file

Start file
<<<<<<< HEAD
def calculate_total(items):
    """Calculate total price of items with 10% discount"""
    total = sum(item['price'] for item in items)
    return total * 0.9  # Apply 10% discount
=======
def calculate_total(items):
    """Calculate total price of items with tax"""
    total = sum(item['price'] for item in items)
    return total * 1.15  # Apply 15% tax
>>>>>>> feature/add-tax

def format_currency(amount):
<<<<<<< HEAD
    """Format amount as USD"""
    return f"${amount:.2f}"
=======
    """Format amount as EUR"""
    return f"€{amount:.2f}"
>>>>>>> feature/currency-update

def process_order(items):
    total = calculate_total(items)
<<<<<<< HEAD
    return {
        'status': 'success',
        'total': format_currency(total),
        'items_count': len(items)
    }
=======
    shipping = 5.99 if total < 50 else 0
    return {
        'status': 'processed',
        'total': format_currency(total + shipping),
        'shipping': shipping
    }
>>>>>>> feature/shipping
End file
def calculate_total(items):
   
"""Calculate total price of items with tax"""
    total
= sum(item['price'] for item in items)
    total
= total * 0.9  # Apply 10% discount
   
return total * 1.15  # Apply 15% tax

def format_currency(amount):
   
"""Format amount as EUR"""
   
return f"€{amount:.2f}"

def process_order(items):
    total
= calculate_total(items)
    shipping
= 5.99 if total < 50 else 0
   
return {
       
'status': 'processed',
       
'total': format_currency(total + shipping),
       
'items_count': len(items),
       
'shipping': shipping
   
}

View Diff

1d0
< <<<<<<< HEAD
3,7d1
<     """Calculate total price of items with 10% discount"""
<     total = sum(item['price'] for item in items)
<     return total * 0.9  # Apply 10% discount
< =======
< def calculate_total(items):
9a4
>     total = total * 0.9  # Apply 10% discount
11d5
< >>>>>>> feature/add-tax
14,17d7
< <<<<<<< HEAD
<     """Format amount as USD"""
<     return f"${amount:.2f}"
< =======
20d9
< >>>>>>> feature/currency-update
24,30d12
< <<<<<<< HEAD
<     return {
<         'status': 'success',
<         'total': format_currency(total),
<         'items_count': len(items)
<     }
< =======
34a17
>         'items_count': len(items),
37d19
< >>>>>>> feature/shipping

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 61 remaining solutions by signing in and submitting your own entry
#62 Badita Marin-Georgian / @GeorgianBadita - Score: 765 - 11/19/24 @ 22:27
d6ji<Esc>ud5jkjjjjddjd:10<CR>ujddddddddkkjjjjddjjjddddddddddddddjjjjjjddjkkkkkkkkkkkkkOtotal = total )<BS>* 0.9 # Plly<BS><BS><BS><BS>Apply 10% dic<BS>scount<Esc>i<Esc>hhhhhhhhhhhhhhhhhhi<BS>  <Esc>;w<CR>Gfgg<Esc>ggdG<50-53>def calculate_total(items):<CR>    """Calculate total price of items with tax"""<CR>    total = sum(item['price'] for item in items)<CR>    total = total * 0.9  # Apply 10% discount<CR>    return total * 1.15  # Apply 15% tax<CR><CR>def format_currency(amount):<CR>    """Format amount as EUR"""<CR>    return f"<0xe2><0x82><0xac>{amount:.2f}"<CR><CR>def process_order(items):<CR>    total = calculate_total(items)<CR>    shipping = 5.99 if total < 50 else 0<CR>    return {<CR>        'status': 'processed',<CR>        'total': format_currency(total + shipping),<CR>        'items_count': len(items),<CR>        'shipping': shipping<CR>    }<Esc>[201~<Esc>;<Esc>l<Esc>;<Esc><Esc>;:w<CR>:q<CR>

0 comments


Created by: @pacuna

62 active golfers, 216 entries

Leaderboard (lowest score wins):
55
#31 - Janusz Spatz / @janusz-anue

03/14/2025 at 09:44PM

57
#32 - thedvd98 / @thedvd98

11/09/2024 at 01:21PM

57
#33 - Fionn Fitzmaurice / @fionn

12/25/2024 at 03:09PM

57
#34 - Ben / @meyerben

01/14/2025 at 04:39AM

58
#35 - Pablo Acuna / @pacuna

11/07/2024 at 01:58AM

58
#36 - Nikita Dobrynin / @girvel

12/23/2024 at 09:15PM

58
#37 - Eng. José Esteves / @JGEsteves89

06/21/2025 at 07:36AM

59
#38 - Matthew Berthoud / @Matthew-Berthoud

01/07/2025 at 10:20AM

60
#39 - Nicolas Lunde / @nlund3

01/30/2025 at 11:49PM

60
#40 - Oliver Green / @olijg

03/14/2025 at 03:22PM

61
#41 - _3tHeR_ / @3ther-joyboy

11/18/2024 at 04:38PM

62
#42 - k1mosabe / @k1mosabe

12/02/2024 at 07:49PM

62
#43 - Biswajit / @biswajitpatra

12/12/2024 at 02:49PM

63
#44 - Kamal Aghayev / @agayev169

03/01/2025 at 07:41PM

63
#45 - Nathan Gilman / @npgilman

04/16/2025 at 01:27AM

67
#46 - Tzadiko / @Tzadiko

12/15/2024 at 11:25PM

67
#47 - lovebigwei / @lovebigwei

12/26/2024 at 07:25AM

67
#48 - thomasyang18 / @thomasyang18

05/17/2025 at 12:44PM

68
#49 - editor3D / @editor3D

11/15/2024 at 11:08PM

69
#50 - Diwakar Singh Parmar / @parmardiwakar150

12/26/2024 at 01:59PM

70
#51 - Leon Kacowicz / @leonkacowicz

05/12/2025 at 11:55PM

74
#52 - jresnick3 / @jresnick3

04/01/2025 at 08:55AM

76
#53 - Ryo3110 / @r-3110

03/08/2025 at 11:43AM

79
#54 - cr100 / @rekicc

11/09/2024 at 09:51AM

81
#55 - mkr3mer / @mkr3mer

05/25/2025 at 02:55AM

84
#56 - Buliway / @Buliway

11/30/2024 at 09:24PM

85
#57 - Theau Poulat / @theaupoulat

04/03/2025 at 08:13PM

98
#58 - Ethan / @ethdew19

07/24/2025 at 11:43PM

101
#59 - Guillaume Seren / @guillaumeseren

12/09/2024 at 01:38PM

107
#60 - Oli / @olileung

03/14/2025 at 12:03PM