Real Vim ninjas count every keystroke - do you?

Pick a challenge, fire up Vim, and show us what you got.

Leaderboard, Changelog, Rules & FAQ, updates: @vimgolf, RSS.

Your VimGolf key: please sign in

$ gem install vimgolf
$ vimgolf setup
$ vimgolf put 4d1a87fcb8cb340932000290

Deleting folded text

The text below contains three folds. Delete them (and the text inside them). For example: 123 456 /*{{{*/ 789 /*}}}*/ 012 Should become: 123 012 Also, add `aoeuaoeu` to make sure small solutions don't get flagged as cheating.

Start file
/* vim: set foldmethod=marker: */
679
196
273
094
912
132
235
859
303
989
151
012
912
279
955
000
333
383
863
009
203
382
388
506
125
858
364
344
927
961
215
856
007
116
412
535
923
656
658
396
045
800
830
923
901
571
003
296
513
721
435
617
738
332
267
987
113
415
773
460
455
737
745
510
047
010
501
617
594
867
834
722
605
348
486
862
570
026
157
127
378
291
066
228
968
296
212
522
017
345
885
628
801
417
734
934
848
973
001
678
225
941
615
340
673
549
068
083
294
271
760
992
777
005
892
373
938
976
648
140
810
135
150
705
021
318
441
983
080
699
378
886
193
510
386
113
194
168
837
823
282
394
888
896
960
728
385
094
656
275
266
311
406
944
201
663
027
534
565
260
971
794
268
602
789
651
487
906
602
945
965
951
616
211
543
068
703
580
064
164
801
228
183
672
285
985
845
567
922
232
022
889
627
146
941
097
929
936
911
178
580  /*{{{*/
667
551
619
719
760
854
627
603
912
055
167
988
543
241
573
782
201
707
427
871
614
956
300
967
473
824
512
110
161
923
293
846
926
414
478
459
927
511
689
592
062
884
260
138
314
591
968
607
877
764
890
634
920
385
645
744
843
309
178
842
645
930
215
531
935
932
705
952
151
970
931
854
209
754
315
223
243
452
165
809
225
599
979
290
108
323
476
597
613
758
186
401
283
556
234
027
105
848
478
811  /*}}}*/
575
959
081
667
261
988
881
161
932
304
739
371
554
195
187
378
424
479
869
488
956
249
039
111
535
822
358
419
730
126
528
846
209
438
190
643
496
252
468
152
799
308
092
924
528
551
637
108
632
010
676
680
249
435
930
957
066
599
124
501
706
849
733
220
205
355
157
389
989
250
496
935
241
835
416
321
898
866
293
018
892
946
387
827
331
435
330
431
776
130
416
216
219
240
507
790
869
975
651
785
806  /*{{{*/
709
177
827
087
863
585
837
447
728
459
256
899
900
047
117
260
229
847
954
271
903
765
802
596
315
583
590
363
576
630
292
383
163
420
183
359
961
051
325
823
024
951
050
074
423
915
744
747
817
388
882
207
202
188
614
451
991
328
397
059
564
150
076
962
528
455
151
113
064
064
154
313
924
759
688
526
591
349
019
710
119
417
009
534
652
469
133
698
266
290
482
023
285
648
266
139
408
041
169
104  /*}}}*/
545
215
439
434
171
376
297
049
857
922
573
422
193
186
922
089
825
159
364
168
444
989
947
096
393
938
195
127
411
905
501
686
391
181
121
714
084
942
212
720
265
895
328
793
276
118
841
297
543
276
246
946
154
842
932
054
137
562
804
165
273
112
019
658
652
696
870
514
997
721
995
141
619
722
440
167
163
339
953
043
032
880
636
223
460
808
929
215
136
121
793
460
186
193
377
842
952
994
394
453
299  /*{{{*/
036
497
877
169
865
288
216
299
950
048
595
421
568
574
188
049
480
575
990
301
616
716
483
333
870
584
544
726
483
918
730
800
078
978
537
737
194
737
995
402
875
048
948
641
931
309
921
901
611
867
506
362
534
570
724
025
482
145
058
436
917
382
261
464
104
432
063
799
057
482
518
451
236
861
902
989
476
807
993
318
448
240
476
409
262
469
404
104
353
798
829
258
349
016
567
552
395
264
927
433  /*}}}*/
335
404
930
040
610
297
463
393
557
523
216
689
608
153
776
163
396
618
027
469
052
291
867
705
512
104
181
741
195
416
149
535
321
543
521
827
659
169
883
621
274
914
961
887
266
431
589
383
647
414
196
224
506
609
566
396
846
808
112
483
972
083
420
253
745
450
727
973
765
892
391
214
244
671
177
210
414
618
491
104
604
252
967
080
649
019
410
143
312
529
903
723
738
449
955
387
906
079
506
584
End file
/* vim: set foldmethod=marker: */
aoeuaoeu
679
196
273
094
912
132
235
859
303
989
151
012
912
279
955
000
333
383
863
009
203
382
388
506
125
858
364
344
927
961
215
856
007
116
412
535
923
656
658
396
045
800
830
923
901
571
003
296
513
721
435
617
738
332
267
987
113
415
773
460
455
737
745
510
047
010
501
617
594
867
834
722
605
348
486
862
570
026
157
127
378
291
066
228
968
296
212
522
017
345
885
628
801
417
734
934
848
973
001
678
225
941
615
340
673
549
068
083
294
271
760
992
777
005
892
373
938
976
648
140
810
135
150
705
021
318
441
983
080
699
378
886
193
510
386
113
194
168
837
823
282
394
888
896
960
728
385
094
656
275
266
311
406
944
201
663
027
534
565
260
971
794
268
602
789
651
487
906
602
945
965
951
616
211
543
068
703
580
064
164
801
228
183
672
285
985
845
567
922
232
022
889
627
146
941
097
929
936
911
178
575
959
081
667
261
988
881
161
932
304
739
371
554
195
187
378
424
479
869
488
956
249
039
111
535
822
358
419
730
126
528
846
209
438
190
643
496
252
468
152
799
308
092
924
528
551
637
108
632
010
676
680
249
435
930
957
066
599
124
501
706
849
733
220
205
355
157
389
989
250
496
935
241
835
416
321
898
866
293
018
892
946
387
827
331
435
330
431
776
130
416
216
219
240
507
790
869
975
651
785
545
215
439
434
171
376
297
049
857
922
573
422
193
186
922
089
825
159
364
168
444
989
947
096
393
938
195
127
411
905
501
686
391
181
121
714
084
942
212
720
265
895
328
793
276
118
841
297
543
276
246
946
154
842
932
054
137
562
804
165
273
112
019
658
652
696
870
514
997
721
995
141
619
722
440
167
163
339
953
043
032
880
636
223
460
808
929
215
136
121
793
460
186
193
377
842
952
994
394
453
335
404
930
040
610
297
463
393
557
523
216
689
608
153
776
163
396
618
027
469
052
291
867
705
512
104
181
741
195
416
149
535
321
543
521
827
659
169
883
621
274
914
961
887
266
431
589
383
647
414
196
224
506
609
566
396
846
808
112
483
972
083
420
253
745
450
727
973
765
892
391
214
244
671
177
210
414
618
491
104
604
252
967
080
649
019
410
143
312
529
903
723
738
449
955
387
906
079
506
584

View Diff

1a2
> aoeuaoeu
202,302d202
< 580  /*{{{*/
< 667
< 551
< 619
< 719
< 760
< 854
< 627
< 603
< 912
< 055
< 167
< 988
< 543
< 241
< 573
< 782
< 201
< 707
< 427
< 871
< 614
< 956
< 300
< 967
< 473
< 824
< 512
< 110
< 161
< 923
< 293
< 846
< 926
< 414
< 478
< 459
< 927
< 511
< 689
< 592
< 062
< 884
< 260
< 138
< 314
< 591
< 968
< 607
< 877
< 764
< 890
< 634
< 920
< 385
< 645
< 744
< 843
< 309
< 178
< 842
< 645
< 930
< 215
< 531
< 935
< 932
< 705
< 952
< 151
< 970
< 931
< 854
< 209
< 754
< 315
< 223
< 243
< 452
< 165
< 809
< 225
< 599
< 979
< 290
< 108
< 323
< 476
< 597
< 613
< 758
< 186
< 401
< 283
< 556
< 234
< 027
< 105
< 848
< 478
< 811  /*}}}*/
403,503d302
< 806  /*{{{*/
< 709
< 177
< 827
< 087
< 863
< 585
< 837
< 447
< 728
< 459
< 256
< 899
< 900
< 047
< 117
< 260
< 229
< 847
< 954
< 271
< 903
< 765
< 802
< 596
< 315
< 583
< 590
< 363
< 576
< 630
< 292
< 383
< 163
< 420
< 183
< 359
< 961
< 051
< 325
< 823
< 024
< 951
< 050
< 074
< 423
< 915
< 744
< 747
< 817
< 388
< 882
< 207
< 202
< 188
< 614
< 451
< 991
< 328
< 397
< 059
< 564
< 150
< 076
< 962
< 528
< 455
< 151
< 113
< 064
< 064
< 154
< 313
< 924
< 759
< 688
< 526
< 591
< 349
< 019
< 710
< 119
< 417
< 009
< 534
< 652
< 469
< 133
< 698
< 266
< 290
< 482
< 023
< 285
< 648
< 266
< 139
< 408
< 041
< 169
< 104  /*}}}*/
604,704d402
< 299  /*{{{*/
< 036
< 497
< 877
< 169
< 865
< 288
< 216
< 299
< 950
< 048
< 595
< 421
< 568
< 574
< 188
< 049
< 480
< 575
< 990
< 301
< 616
< 716
< 483
< 333
< 870
< 584
< 544
< 726
< 483
< 918
< 730
< 800
< 078
< 978
< 537
< 737
< 194
< 737
< 995
< 402
< 875
< 048
< 948
< 641
< 931
< 309
< 921
< 901
< 611
< 867
< 506
< 362
< 534
< 570
< 724
< 025
< 482
< 145
< 058
< 436
< 917
< 382
< 261
< 464
< 104
< 432
< 063
< 799
< 057
< 482
< 518
< 451
< 236
< 861
< 902
< 989
< 476
< 807
< 993
< 318
< 448
< 240
< 476
< 409
< 262
< 469
< 404
< 104
< 353
< 798
< 829
< 258
< 349
< 016
< 567
< 552
< 395
< 264
< 927
< 433  /*}}}*/

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 74 remaining solutions by signing in and submitting your own entry
#75 Joe McCall / @joem86 - Score: 25 - 12/29/10 @ 00:44
<fd-35>oaoeuaoeu<Esc>zjddzj.zj.ZZ

0 comments

#76 uuu / @uu59 - Score: 25 - 12/29/10 @ 11:28
<fd-35>oaoeuaoeu<Esc>qazjddq2@aZZ

0 comments

#77 Matt Adelman / @Xavierstein - Score: 25 - 03/20/13 @ 19:41
o<Esc>2iaoeu<Esc>qq/{<CR>V/}<CR>xq2@qZZ

0 comments

#78 Ben C / @cben - Score: 26 - 12/28/10 @ 19:44
o<Esc>2iaoeu<Esc>qa/{<CR>zcddq2@a:wq<CR>

0 comments

#79 okay zed / @okayzed - Score: 26 - 12/28/10 @ 20:10
<fd-35>oaoeuaoeu<Esc>qqzjddq@q@@ZZ

0 comments

#80 Dhruva Sagar / @dhruvasagar - Score: 27 - 12/28/10 @ 17:13
<fd-35>oaoeuaoeu<Esc>qazjddq2@a:wq<CR>

0 comments

#81 Dave V. / @dave_v - Score: 27 - 12/29/10 @ 06:06
<fd-35>oaoeuaoeu<Esc>zjddzjddzjddZZ

0 comments

#82 Nacho Barrientos / @nachobarrientos - Score: 27 - 12/29/10 @ 06:44
<fd-35>oaoeuaoeu<Esc>zjdlzjdlzjdlZZ

0 comments

#83 Jason Then / @racc69 - Score: 27 - 08/08/11 @ 19:07
o<Esc>2iaoeu<Esc>qa:/{/,/}/d<CR>q2@aZZ

0 comments

#84 David Wolever / @wolever - Score: 28 - 12/28/10 @ 17:00
<fd-35>oaoeuaoeu<Esc>zjddzjddzjdd:x<CR>

0 comments

#85 dagbrown / @dagbrown - Score: 28 - 12/28/10 @ 18:19
oaoeuaoeu<Esc>qa:/{/,/}/d<CR>q2@aZZ

0 comments

#86 Frederik Mogensen / @fmogensen - Score: 28 - 03/30/11 @ 16:55
oaoeuaoeu<Esc>101<CR>qq100<CR>ddq2@qZZ

0 comments

#87 Ankit Shankar / @thelastnode - Score: 30 - 12/28/10 @ 21:56
<fd-35>oaoeuaoeu<Esc>zMqazjddq10@a:wq<CR>

0 comments

#88 Lajos Koszti / @Ajnasz - Score: 30 - 08/23/11 @ 08:27
oaoeuaoeu<Esc><Esc>/{<CR>zmddnzmddnzmddZZ

0 comments

#89 Drew Benedetti / @cnorsl - Score: 30 - 02/16/12 @ 12:28
:/{/,/}/d<CR>:<Up><CR>:<Up><CR>ggoaoeuaoeu<Esc>ZZ

0 comments

#90 Samus_ Michael / @gonna_hate - Score: 33 - 12/28/10 @ 19:14
oaoeuaoeu<Esc>:/{/,/}/d<CR>:<Up><CR>:<Up><CR>:x<CR>

0 comments

#91 Nat Williams / @natw - Score: 36 - 12/28/10 @ 17:54
<fd-35>oaoeuaoeu<Esc>/\/<CR>VnnxnVnnxnVnnx<Esc>:wq<CR>

0 comments

#92 KMNK / @kmnk - Score: 70 - 04/24/11 @ 00:46
oaoeuaoeu<Esc>/{<CR>d/|<BS>}<CR>jkdd/{<CR>d/|<BS>}<CR>dd/{<CR>d/|<BS>}<CR>dd/{<CR>;wq:wq:wq<CR>:<BS>q:<BS>aq<CR>:wq<CR>

0 comments

#93 lionel young / @lionelyoung - Score: 92 - 12/28/10 @ 17:08
<fd-35>:set gfo<BS><BS><BS>foldmethod=marker<CR>zM<C-F><C-F><C-F><C-F><C-F><C-F><C-F><C-B>jk202ggdd<C-F><C-F><C-F>jjjdd<C-F><C-F><C-F>jjjjdd<C-F><C-F><C-F>Gggoaoeuaoeu<Esc>ZZ

0 comments

Created by: @wolever

93 active golfers, 253 entries

Leaderboard (lowest score wins):
17
#1 - Jimmy Mabey / @mabeyj

01/23/2013 at 05:27PM

17
#2 - John Braxler / @braxler

06/02/2014 at 05:20AM

18
#3 - Rod Knowlton / @codelahoma

05/26/2012 at 06:43PM

18
#4 - Kerson Hsiao / @KersonHsiao

08/08/2012 at 07:14AM

18
#5 - Conner McDaniel / @connermcd

09/18/2012 at 01:35PM

18
#6 - Darcy Parker / @DarcyParker

10/18/2012 at 04:17PM

18
#7 - a24f0600 / @a24f0600

11/22/2012 at 09:47AM

18
#8 - Urtica dioica / @udioica

12/09/2012 at 08:28PM

18
#9 - Petro Тrouq / @zulolosi

05/11/2013 at 03:38AM

18
#10 - Joonas Pihlajamaa / @jokkebk

02/25/2014 at 06:28AM

19
#11 - Matthew Draper / @_matthewd

12/31/2010 at 08:46PM

19
#12 - Wei Dai / @clvv42

01/02/2011 at 05:00PM

19
#13 - dominique pellé / @vimgolfisto

01/03/2011 at 03:44PM

19
#14 - Jordan Lewis / @JordanALewis

01/06/2011 at 01:27PM

19
#15 - Ravil Bayramgalin / @brainopia

01/07/2011 at 01:45PM

19
#16 - Tim Chase / @gumnos

01/07/2011 at 07:29PM

19
#17 - vg / @vimgolfer

02/26/2011 at 04:11AM

19
#18 - You-Siang Lin / @yslinnctu

11/29/2011 at 05:32AM

19
#19 - Xavier Nayrac / @lkdjiin

12/29/2011 at 10:04AM

19
#20 - Renat Aksitov / @Korvin79

02/05/2012 at 08:52PM

19
#21 - Federico Galassi / @federicogalassi

02/22/2012 at 01:08AM

19
#22 - Charles Gordon / @liberalbias

08/25/2012 at 04:44PM

19
#23 - Hubba / @HubbaBubbaFett

12/12/2012 at 12:40PM

19
#24 - Victor Ramirez / @virako

01/25/2013 at 08:55AM

19
#25 - Kai Yuan / @kentyuan

02/21/2013 at 06:28AM

19
#26 - Tyler / @tylerbindon

03/31/2013 at 09:14AM

20
#27 - Balkoth / @_Balkoth_

12/31/2010 at 06:13PM

20
#28 - Kenny Parnell / @kennyp

01/04/2011 at 03:00PM

20
#29 - Oleg Roshupkin / @jjjahson

01/17/2011 at 03:07AM

20
#30 - SirVer / @SirVerII

01/24/2011 at 05:34AM

20
#31 - Stephen Morrow / @yawmark

01/26/2011 at 03:45PM

20
#32 - Emile Swarts / @EmileSwarts

05/30/2011 at 07:43AM

20
#33 - Justin Love / @wondible

06/12/2011 at 07:58AM

20
#34 - Hu Junfeng / @junfeng

07/16/2011 at 05:37AM

20
#35 - Dave / @zzdave13

08/02/2011 at 12:29PM

20
#36 - Andrey Ivanov / @Bytamine

08/09/2011 at 06:09AM

20
#37 - Tim Tsu / @vimgolfpunk

08/29/2011 at 08:10AM

20
#38 - quintin / @quintinjeannoel

08/30/2011 at 11:47AM

20
#39 - Trevor Powell / @DoomedBunnies

11/28/2011 at 05:43PM

20
#40 - Tesnorth / @Tesnorth

02/05/2012 at 04:59AM

20
#41 - Zeh Rizzatti / @zehrizzatti

02/06/2012 at 08:07PM

20
#42 - 無ん垢の叫び / @john_ababa

02/22/2012 at 11:10PM

20
#43 - vansan / @VinceVansan

08/25/2012 at 01:44PM

20
#44 - tmr / @tmr314

09/11/2012 at 06:18AM

20
#45 - 4L41N / @4L41N1

11/21/2012 at 01:01PM

20
#46 - xavier kt / @xav_kt

02/04/2013 at 03:07PM

20
#47 - Brent Carmer / @brent_carmer

04/08/2013 at 08:06PM

21
#48 - Nadja Untendiegruft / @nadjau

12/29/2010 at 03:55AM

21
#49 - Mike Plotz / @antisuji

12/29/2010 at 06:22PM

21
#50 - Takayuki Tsukitani / @tsukkee

12/29/2010 at 11:09PM

21
#51 - Akira Matsuda / @a_matsuda

12/30/2010 at 07:40AM

21
#52 - Ujjwol Lamichhane / @Ujjwol

01/06/2011 at 04:13AM

21
#53 -  Ikhsan Maulana / @ixandidu

01/14/2011 at 08:59PM

21
#54 - h_east (DDD ready) / @h_east

01/15/2011 at 08:56AM

21
#55 - xhtmlforum / @xhtmlforum

01/31/2011 at 01:06PM

21
#56 - Toto l'haricot / @nico_le_terribl

04/14/2012 at 06:20PM

21
#57 - Chris Brown / @engineercyb

07/13/2012 at 05:19AM

21
#58 - Javier Blanco / @jbgutierrez

06/20/2013 at 04:09PM

22
#59 - Simon Edwardsson / @_SimEdw_

12/29/2010 at 08:59AM

22
#60 - drio / @drio

12/31/2010 at 04:58PM

22
#61 - Pierre / @Pihour

01/01/2011 at 11:52PM

22
#62 - Marco Fontani / @mfontani

01/05/2011 at 08:44AM

22
#63 - Johannes Martinsson / @moxiba

01/07/2011 at 11:36AM

22
#64 - Matt Tarbit / @mtarbit

01/09/2011 at 02:23AM

22
#65 - Pete Johns / @johnsyweb

01/09/2011 at 02:34PM

22
#66 - Craig H. Anderson / @CootCraig

04/20/2011 at 08:50AM

22
#67 - Marcin Sza / @coot_

11/23/2012 at 07:03AM

22
#68 - James / @Dronak

09/02/2013 at 06:22PM

23
#69 - Christopher Suter / @cgs1019

12/28/2010 at 06:50PM

24
#70 - mightyfoo / @mightyfoo

05/25/2011 at 08:41AM

24
#71 - Kristopher Urie / @kristopherurie

02/27/2012 at 09:09PM

24
#72 - うえっち / @uh_tomo

12/04/2012 at 10:29PM

24
#73 - cj / @cj01101

02/05/2014 at 01:10PM

25
#74 - Jacob Miller / @pwnies

12/28/2010 at 05:44PM

25
#75 - Joe McCall / @joem86

12/29/2010 at 12:44AM

25
#76 - uuu / @uu59

12/29/2010 at 11:28AM

25
#77 - Matt Adelman / @Xavierstein

03/20/2013 at 07:41PM

26
#78 - Ben C / @cben

12/28/2010 at 07:44PM

26
#79 - okay zed / @okayzed

12/28/2010 at 08:10PM

27
#80 - Dhruva Sagar / @dhruvasagar

12/28/2010 at 05:13PM

27
#81 - Dave V. / @dave_v

12/29/2010 at 06:06AM

27
#82 - Nacho Barrientos / @nachobarrientos

12/29/2010 at 06:44AM

27
#83 - Jason Then / @racc69

08/08/2011 at 07:07PM

28
#84 - David Wolever / @wolever

12/28/2010 at 05:00PM

28
#85 - dagbrown / @dagbrown

12/28/2010 at 06:19PM

28
#86 - Frederik Mogensen / @fmogensen

03/30/2011 at 04:55PM

30
#87 - Ankit Shankar / @thelastnode

12/28/2010 at 09:56PM

30
#88 - Lajos Koszti / @Ajnasz

08/23/2011 at 08:27AM

30
#89 - Drew Benedetti / @cnorsl

02/16/2012 at 12:28PM

33
#90 - Samus_ Michael / @gonna_hate

12/28/2010 at 07:14PM

36
#91 - Nat Williams / @natw

12/28/2010 at 05:54PM

70
#92 - KMNK / @kmnk

04/24/2011 at 12:46AM

92
#93 - lionel young / @lionelyoung

12/28/2010 at 05:08PM