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 57343555fd77ad227900df4a

Split line with dots

This line is too long, split it.

Start file
class VimGolf
  def split_me
    MyModel.first_method.second_method(arg).third_method(arg.method_one.method_two)
  end
end
End file
class VimGolf
  def split_me
    MyModel
      .first_method
      .second_method(arg)
      .third_method(arg.method_one.method_two)
  end
end

View Diff

3c3,6
<     MyModel.first_method.second_method(arg).third_method(arg.method_one.method_two)
---
>     MyModel
>       .first_method
>       .second_method(arg)
>       .third_method(arg.method_one.method_two)

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 494 remaining solutions by signing in and submitting your own entry
#495 Jinotega / @Jinotega3000 - Score: 89 - 12/29/16 @ 20:54
jjWwi<CR><BS><BS><BS><BS><BS>      jk<BS><BS><Esc>wwwwijk<BS><BS>hi<BS><BS><Esc>i<CR><BS><BS><BS><BS><BS><BS><CR><BS><BS><BS><BS><BS>      <Esc>wwwwwwwwwbbbhi<CR><BS><BS><BS><BS><BS>      <Esc>j:wq<CR>

0 comments


Created by: @Benoit_Tgt

495 active golfers, 1685 entries

Leaderboard (lowest score wins):
15
#121 - Philippe Brouillard / @_kurowasan

08/17/2017 at 11:35PM

15
#122 - Halsey Smith / @HalseySmith3

10/05/2017 at 02:47PM

15
#123 - Turkey Man / @lvturkeyman

11/08/2017 at 08:29AM

15
#124 - Joe Schmoe / @yeroc1nil

11/25/2017 at 07:52PM

15
#125 - Andrei Gasparovici / @agasparovici

12/02/2017 at 07:49AM

15
#126 - Sage san / @sagesancast

12/20/2017 at 04:49PM

15
#127 - Dominic Z / @thammaaa

01/11/2018 at 05:03PM

15
#128 - Immanuel Haffner / @ImmanuelHaffner

01/11/2018 at 05:12PM

15
#129 - ParasamGateZero / @ParasamGateZero

01/19/2018 at 07:40AM

15
#130 - John C Shea / @MHSSachems

02/04/2018 at 10:56AM

15
#131 - bruno / @LokoPoggi

03/03/2018 at 05:00AM

15
#132 - Lisa Ugray / @lisa_ugray

03/14/2018 at 12:42PM

15
#133 - youyou / @anth200

03/15/2018 at 04:36PM

15
#134 - DHM / @DHM29978992

04/12/2018 at 03:34AM

15
#135 - Evgeny`s Kindle / @EvgenyKindle

04/23/2018 at 02:38PM

15
#136 - platypusDancing / @platypusDancing

05/03/2018 at 12:02AM

15
#137 - Dylan Nelson / @dlnnlsn

06/08/2018 at 05:26AM

15
#138 - Daniël De Koker / @daniel_koker

06/17/2018 at 09:26AM

15
#139 - Aleksey N. / @nag5001

07/15/2018 at 02:18PM

15
#140 - fucus / @fishlovebanana

08/04/2018 at 08:59AM

15
#141 - Roberto Martínez / @nilp0inter

08/27/2018 at 10:07PM

15
#142 - Roger Bongers / @RogerBongers

10/06/2018 at 04:12PM

15
#143 - Fabio Branquinho / @branquif

11/08/2018 at 09:13PM

16
#144 - Cristian Lupașcu / @clupasq

05/12/2016 at 09:55AM

16
#145 - Jan Bundesmann / @janbundesmann

05/12/2016 at 11:21AM

16
#146 - some call me mattp / @mattpep

05/12/2016 at 03:43PM

16
#147 - damon kelley / @damonkelley

05/12/2016 at 04:02PM

16
#148 - Nick / @Nickwilmes

05/13/2016 at 10:14PM

16
#149 - Ricardo Santos / @TWidXugA

05/14/2016 at 02:15PM

16
#150 - Tom / @CronutFacts

05/15/2016 at 07:55PM