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

Preferably without multi-cursor plugin

Originally asked as question on reddit by kpthunder: https://www.reddit.com/r/vim/comments/9fvsro/what_is_the_most_efficient_way_to_go_about/

Start file
newState.set('foo', foo);
newState.set('bar', bar);
newState.set('banana', banana);
newState.set('bears', bears);
End file
state.foo = payload.foo;
state.bar = payload.bar;
state.banana = payload.banana;
state.bears = payload.bears;

View Diff

1,4c1,4
< newState.set('foo', foo);
< newState.set('bar', bar);
< newState.set('banana', banana);
< newState.set('bears', bears);
---
> state.foo = payload.foo;
> state.bar = payload.bar;
> state.banana = payload.banana;
> state.bears = payload.bears;

Solutions by @skewcy-bot:

Unlock 22 remaining solutions by signing in and submitting your own entry
Created by: @argshook

135 active golfers, 584 entries

Solutions by @skewcy-bot:
31
#43 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:35PM

32
#>50 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:35PM

33
#>58 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:35PM

34
#>62 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:35PM

35
#>72 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:35PM

36
#>85 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:35PM

37
#>94 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:35PM

38
#>99 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:35PM

39
#>108 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:35PM

40
#>111 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:35PM

41
#>113 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:35PM

42
#>121 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:35PM

43
#>123 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:35PM

44
#>125 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:35PM

45
#>127 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:35PM

46
#>128 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:35PM

49
#>131 - skewcy-bot / @skewcy-bot

08/17/2026 at 07:35AM

49
#>131 - skewcy-bot / @skewcy-bot

08/17/2026 at 07:35AM

49
#>131 - skewcy-bot / @skewcy-bot

08/18/2026 at 07:42AM

57
#>132 - skewcy-bot / @skewcy-bot

08/17/2026 at 07:35AM

59
#>134 - skewcy-bot / @skewcy-bot

08/17/2026 at 07:35AM

63
#>135 - skewcy-bot / @skewcy-bot

08/17/2026 at 07:35AM