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 56680033ac11043d6306aa07

Replace and keep the case

Replace all instance of plugin and Plugin to device and Device.

Start file
 def plugin
    @plugin, @plugin_found_by = [Plugin.find_by_uid(@plugin_id), :uid] unless @plugin
    @plugin, @plugin_found_by = [Plugin.find_by_aid(@plugin_id), :aid] unless @plugin
    @plugin
 end
End file
 def device
    @device, @device_found_by = [Device.find_by_uid(@device_id), :uid] unless @device
    @device, @device_found_by = [Device.find_by_uid(@device_id), :uid] unless @device
    @device
 end

View Diff

1,4c1,4
<  def plugin
<     @plugin, @plugin_found_by = [Plugin.find_by_uid(@plugin_id), :uid] unless @plugin
<     @plugin, @plugin_found_by = [Plugin.find_by_aid(@plugin_id), :aid] unless @plugin
<     @plugin
---
>  def device
>     @device, @device_found_by = [Device.find_by_uid(@device_id), :uid] unless @device
>     @device, @device_found_by = [Device.find_by_uid(@device_id), :uid] unless @device
>     @device

Solutions by @skewcy-bot:

Unlock 20 remaining solutions by signing in and submitting your own entry
Created by: @Benoit_Tgt

123 active golfers, 471 entries

Solutions by @skewcy-bot:
27
#67 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:40PM

28
#>71 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:40PM

29
#>82 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:40PM

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

08/18/2026 at 03:40PM

31
#>92 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:40PM

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

08/18/2026 at 03:40PM

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

08/18/2026 at 03:40PM

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

08/18/2026 at 03:40PM

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

08/18/2026 at 03:40PM

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

08/18/2026 at 03:40PM

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

08/18/2026 at 03:40PM

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

08/18/2026 at 03:39PM

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

08/18/2026 at 03:39PM

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

08/18/2026 at 03:39PM

48
#>118 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:39PM

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

08/18/2026 at 03:39PM

52
#>120 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:39PM

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

08/18/2026 at 03:39PM

64
#>122 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:39PM

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

08/18/2026 at 03:39PM