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

Mirror image

Add the second eye

Start file
                                     .....''',;:;,,,,,,,'...                                   
                             
..,;;,,;,,:c;,,':o:,'';;:l:;;;;;:,'...  .                        
                       
..';;::;,::.. .. ..   .''.  .'',.  .',:;,;c:';,.                      
                   ..'
:lol:;'',.  ',.  '..',......  .,,,'. .'',. .,''cc',..                    
                ...,clc:;,..  .'
...,,'..;'.;;..,....,::cc. ',,'  .,..:'.::,'...                
               
..,;::.. .',... .:,,,,;cc;:;:ddcc;',;clckd..;;;' .:'.;:.''..';,...              
             .,;,'
...,'..,;:;;;',ccclodkkdoodxxddoodxddOklll:l:,lc'cc.,c.   .;lc,...          
           .,;;,,'
...',;;;;:lcoxdxxddxkkkkOOO0000KKKKKKKK00Oxkkxxooc,;c,..  ...:lc:'..        
         
.,;;,,',:::;::ccc:clxOkO0Okkk0NMMMMMMMMMMMMMMMMMMWWNNXK0kdodo,.;;''. .',;:::,..      
       
.;,,'..;:;;clooddkkxxxkkxxxoc:xXNNNWWWWWMWWMWWWWWWWMMMMMMNOxkko:ldc;'.','.'',;:;'.      
      .....,;,'
;;;:cldkxodxdol;'..  :KNXKklcoOKKxdkkKWWNNNXXNWWMWx,,loddlc;'',,;'';:,'''..    
   
.....',,;:ccccdkxoolloc'.      .kNX0xccoook0xdl;xNWWKKKKXXNWMK,   .:lc;.';;'.',,.......    
  ..'
,,',;:cclodkxdl::lc,.         cNNK0OOXWWXXWWMMWWMMWOx0XXKXWMWo      ','...'...... ....    
 
';,'',::c::loool;.;c,.            oNK0OkOXWNXNMMMMMMMMMWNX0O0KNWMd        .'.... ..          
 
..'',,,,,''......;c.              cKK00OOKWNXNMMMMMMMMMWNKkdkKNWWo          .....            
     
.......   ..':.              '0XOkkk0KXNNNWWWWMWWWNKkxk0XWWK,              .....        
       
...';:;'.  ..'.              cK0kkkOxkKXXXNNXNNXOOOkO00XWXc                .'..''..    
       
.  .,;::;,,.  .....           cO0OkxooxkkkkkxkkxdxOxxKNN0:                 ..    ....  
             
.;ccoc,.   .'''.         'okkxddxxdxxddxdlcokxkXKd.                .         .'.  
           ..'
,;;;:cc::,.  .''.'....    .;ccoolcoxocoo:;lxxdc.         ........',,'''''''...  
           .. ......,;clc:,'
................''''''''',,''................    ............      
                   ..'
,',;;;,,,,'',.  .................'''''''...                              
                       
.....;,;::cc:c:;;;:;,'.',,';;;:;col;;l,.                              
                            ......;,;c,'
ldl:::::::';c,,;oo'.''.                                
                                 
. ....:l,,c;':;'..'. .,.                                    
                                        ..  .. .                                              
End file
                                     .....''',;:;,,,,,,,'...                                                                      ...',,,,,,,;:;,'''.....                                     
                             
..,;;,,;,,:c;,,':o:,'';;:l:;;;;;:,'...  .                                                .  ...',:;;;;;:l:;;'',:o:',,;c:,,;,,;;,..                              
                       
..';;::;,::.. .. ..   .''.  .'',.  .',:;,;c:';,.                                              .,;':c;,;:,'.  .,''.  .''.   .. .. ..::,;::;;'..                        
                   
..':lol:;'',.  ',.  '..',......  .,,,'. .'',. .,''cc',..                                        ..,'cc'',. .,''. .',,,.  ......,'..'  .,'  .,'';:lol:'..                  
               
...,clc:;,..  .'...,,'..;'.;;..,....,::cc. ',,'  .,..:'.::,'...                                ...',::.':..,.  ',,' .cc::,....,..;;.';..',,...'.  ..,;:clc,...                
               
..,;::.. .',... .:,,,,;cc;:;:ddcc;',;clckd..;;;' .:'.;:.''..';,...                            ...,;'..''.:;.':. ';;;..dkclc;,';ccdd:;:;cc;,,,,:. ...,'. ..::;,..              
             
.,;,'...,'..,;:;;;',ccclodkkdoodxxddoodxddOklll:l:,lc'cc.,c.   .;lc,...                      ...,cl;.   .c,.cc'cl,:l:lllkOddxdooddxxdoodkkdolccc,';;;:;,..',...',;,.            
           
.,;;,,'...',;;;;:lcoxdxxddxkkkkOOO0000KKKKKKKK00Oxkkxxooc,;c,..  ...:lc:'..                  ..':cl:...  ..,c;,cooxxkkxO00KKKKKKKK0000OOOkkkkxddxxdxocl:;;;;,'...',,;;,.          
         
.,;;,,',:::;::ccc:clxOkO0Okkk0NMMMMMMMMMMMMMMMMMMWWNNXK0kdodo,.;;''. .',;:::,..              ..,:::;,'. .'';;.,ododk0KXNNWWMMMMMMMMMMMMMMMMMMN0kkkO0OkOxlc:ccc::;:::,',,;;,.        
       
.;,,'..;:;;clooddkkxxxkkxxxoc:xXNNNWWWWWMWWMWWWWWWWMMMMMMNOxkko:ldc;'.','.'',;:;'.            .';:;,''.','.';cdl:okkxONMMMMMMWWWWWWWMWWMWWWWWNNNXx:coxxxkkxxxkkddoolc;;:;..',,;.      
     
.....,;,';;;:cldkxodxdol;'..  :KNXKklcoOKKxdkkKWWNNNXXNWWMWx,,loddlc;'',,;'';:,'''..          ..''',:;'';,,'';clddol,,xWMWWNXXNNNWWKkkdxKKOoclkKXNK:  ..';lodxdoxkdlc:;;;',;,.....      
   
.....',,;:ccccdkxoolloc'.      .kNX0xccoook0xdl;xNWWKKKKXXNWMK,   .:lc;.';;'.',,.......        .......,,'.';;'.;cl:.   ,KMWNXXKKKKWWNx;ldx0koooccx0XNk.      .'collooxkdcccc:;,,'.....    
 
..',,',;:cclodkxdl::lc,.         cNNK0OOXWWXXWWMMWWMMWOx0XXKXWMWo      ','...'...... ....        .... ......'...','      oWMWXKXX0xOWMMWWMMWWXXWWXOO0KNNc         .,cl::ldxkdolcc:;,',,'..  
 
';,'',::c::loool;.;c,.            oNK0OkOXWNXNMMMMMMMMMWNX0O0KNWMd        .'.... ..                      .. ....'.        dMWNK0O0XNWMMMMMMMMMNXNWXOkO0KNo            .,c;.;loool::c::,'',;'
 
..'',,,,,''......;c.              cKK00OOKWNXNMMMMMMMMMWNKkdkKNWWo          .....                          .....          oWWNKkdkKNWMMMMMMMMMNXNWKOO00KKc              .c;......'',,,,,''..
     
.......   ..':.              '0XOkkk0KXNNNWWWWMWWWNKkxk0XWWK,              .....                  .....              ,KWWX0kxkKNWWWMWWWWNNNXK0kkkOX0'              .:'..   .......      
       
...';:;'.  ..'.              cK0kkkOxkKXXXNNXNNXOOOkO00XWXc                .'..''..          ..''..'.                cXWX00OkOOOXNNXNNXXXKkxOkkk0Kc              .'..  .';:;'...      
       
.  .,;::;,,.  .....           cO0OkxooxkkkkkxkkxdxOxxKNN0:                 ..    ....      ....    ..                 :0NNKxxOxdxkkxkkkkkxooxkO0Oc           .....  .,,;::;,.  .      
             
.;ccoc,.   .'''.         'okkxddxxdxxddxdlcokxkXKd.                .         .'.    .'.         .                .dKXkxkocldxddxxdxxddxkko'         .'''.   .,cocc;.            
           
..',;;;:cc::,.  .''.'....    .;ccoolcoxocoo:;lxxdc.         ........',,'''''''...      ...''''''',,'........         .cdxxl;:oocoxocloocc;.    ....'.''.  .,::cc:;;;,'..          
           
.. ......,;clc:,'................''''''''',,''................    ............            ............    ................'',,'''''''''................',:clc;,...... ..          
                   
..',',;;;,,,,'',.  .................'''''''...                                                            ...'''''''.................  .,'',,,,;;;,','..                  
                       
.....;,;::cc:c:;;;:;,'.',,';;;:;col;;l,.                                                              .,l;;loc;:;;;',,'.',;:;;;:c:cc::;,;.....                        
                           
......;,;c,'ldl:::::::';c,,;oo'.''.                                                                .''.'oo;,,c;':::::::ldl',c;,;......                            
                                 
. ....:l,,c;':;'..'. .,.                                                                          .,. .'..';:';c,,l:.... .                                  
                                       
..  .. .                                                                                              . ..  ..                                        

View Diff

1,26c1,26
<                                      .....''',;:;,,,,,,,'...                                  
<                               ..,;;,,;,,:c;,,':o:,'';;:l:;;;;;:,'...  .                        
<                         ..';;::;,::.. .. ..   .''.  .'',.  .',:;,;c:';,.                      
<                    ..'
:lol:;'',.  ',.  '..',......  .,,,'. .'',. .,''cc',..                    
<                 ...,clc:;,..  .'
...,,'..;'.;;..,....,::cc. ',,'  .,..:'.::,'...                
<                ..,;::.. .',... .:,,,,;cc;:;:ddcc;',;clckd..;;;' .:'.;:.''..';,...              
<              .,;,'
...,'..,;:;;;',ccclodkkdoodxxddoodxddOklll:l:,lc'cc.,c.   .;lc,...          
<            .,;;,,'
...',;;;;:lcoxdxxddxkkkkOOO0000KKKKKKKK00Oxkkxxooc,;c,..  ...:lc:'..        
<          .,;;,,',:::;::ccc:clxOkO0Okkk0NMMMMMMMMMMMMMMMMMMWWNNXK0kdodo,.;;''. .',;:::,..      
<        .;,,'..;:;;clooddkkxxxkkxxxoc:xXNNNWWWWWMWWMWWWWWWWMMMMMMNOxkko:ldc;'.','.'',;:;'.      
<       .....,;,'
;;;:cldkxodxdol;'..  :KNXKklcoOKKxdkkKWWNNNXXNWWMWx,,loddlc;'',,;'';:,'''..    
<     .....',,;:ccccdkxoolloc'.      .kNX0xccoook0xdl;xNWWKKKKXXNWMK,   .:lc;.';;'.',,.......    
<   ..'
,,',;:cclodkxdl::lc,.         cNNK0OOXWWXXWWMMWWMMWOx0XXKXWMWo      ','...'...... ....    
<  ';,'',::c::loool;.;c,.            oNK0OkOXWNXNMMMMMMMMMWNX0O0KNWMd        .'.... ..          
<  ..'',,,,,''......;c.              cKK00OOKWNXNMMMMMMMMMWNKkdkKNWWo          .....            
<       .......   ..':.              '0XOkkk0KXNNNWWWWMWWWNKkxk0XWWK,              .....        
<        ...';:;'.  ..'.              cK0kkkOxkKXXXNNXNNXOOOkO00XWXc                .'..''..    
<        .  .,;::;,,.  .....           cO0OkxooxkkkkkxkkxdxOxxKNN0:                 ..    ....  
<              .;ccoc,.   .'''.         'okkxddxxdxxddxdlcokxkXKd.                .         .'.  
<            ..'
,;;;:cc::,.  .''.'....    .;ccoolcoxocoo:;lxxdc.         ........',,'''''''...  
<            .. ......,;clc:,'
................''''''''',,''................    ............      
<                    ..'
,',;;;,,,,'',.  .................'''''''...                              
<                         .....;,;::cc:c:;;;:;,'.',,';;;:;col;;l,.                              
<                             ......;,;c,'
ldl:::::::';c,,;oo'.''.                                
<                                   . ....:l,,c;':;'..'. .,.                                    
<                                         ..  .. .                                              
---
>                                      .....'''
,;:;,,,,,,,'...                                                                      ...',,,,,,,;:;,'''.....                                    
>                               ..,;;,,;,,:c;,,'
:o:,'';;:l:;;;;;:,'...  .                                                .  ...',:;;;;;:l:;;'',:o:',,;c:,,;,,;;,..                              
>                         ..'
;;::;,::.. .. ..   .''.  .'',.  .',:;,;c:';,.                                              .,;':c;,;:,'.  .,''.  .''.   .. .. ..::,;::;;'..                        
>                    ..'
:lol:;'',.  ',.  '..',......  .,,,'. .'',. .,''cc',..                                        ..,'cc'',. .,''. .',,,.  ......,'..'  .,'  .,'';:lol:'..                  
>                 ...,clc:;,..  .'
...,,'..;'.;;..,....,::cc. ',,'  .,..:'.::,'...                                ...',::.':..,.  ',,' .cc::,....,..;;.';..',,...'.  ..,;:clc,...                
>                ..,;::.. .'
,... .:,,,,;cc;:;:ddcc;',;clckd..;;;' .:'.;:.''..';,...                            ...,;'..''.:;.':. ';;;..dkclc;,';ccdd:;:;cc;,,,,:. ...,'. ..::;,..              
>              .,;,'
...,'..,;:;;;',ccclodkkdoodxxddoodxddOklll:l:,lc'cc.,c.   .;lc,...                      ...,cl;.   .c,.cc'cl,:l:lllkOddxdooddxxdoodkkdolccc,';;;:;,..',...',;,.            
>            .,;;,,'
...',;;;;:lcoxdxxddxkkkkOOO0000KKKKKKKK00Oxkkxxooc,;c,..  ...:lc:'..                  ..':cl:...  ..,c;,cooxxkkxO00KKKKKKKK0000OOOkkkkxddxxdxocl:;;;;,'...',,;;,.          
>          .,;;,,'
,:::;::ccc:clxOkO0Okkk0NMMMMMMMMMMMMMMMMMMWWNNXK0kdodo,.;;''. .',;:::,..              ..,:::;,'. .'';;.,ododk0KXNNWWMMMMMMMMMMMMMMMMMMN0kkkO0OkOxlc:ccc::;:::,',,;;,.        
>        .;,,'
..;:;;clooddkkxxxkkxxxoc:xXNNNWWWWWMWWMWWWWWWWMMMMMMNOxkko:ldc;'.','.'',;:;'.            .';:;,''.','.';cdl:okkxONMMMMMMWWWWWWWMWWMWWWWWNNNXx:coxxxkkxxxkkddoolc;;:;..',,;.      
>       .....,;,'
;;;:cldkxodxdol;'..  :KNXKklcoOKKxdkkKWWNNNXXNWWMWx,,loddlc;'',,;'';:,'''..          ..''',:;'';,,'';clddol,,xWMWWNXXNNNWWKkkdxKKOoclkKXNK:  ..';lodxdoxkdlc:;;;',;,.....      
>     .....'
,,;:ccccdkxoolloc'.      .kNX0xccoook0xdl;xNWWKKKKXXNWMK,   .:lc;.';;'.',,.......        .......,,'.';;'.;cl:.   ,KMWNXXKKKKWWNx;ldx0koooccx0XNk.      .'collooxkdcccc:;,,'.....    
>   ..'
,,',;:cclodkxdl::lc,.         cNNK0OOXWWXXWWMMWWMMWOx0XXKXWMWo      ','...'...... ....        .... ......'...','      oWMWXKXX0xOWMMWWMMWWXXWWXOO0KNNc         .,cl::ldxkdolcc:;,',,'..  
>  '
;,'',::c::loool;.;c,.            oNK0OkOXWNXNMMMMMMMMMWNX0O0KNWMd        .'.... ..                      .. ....'.        dMWNK0O0XNWMMMMMMMMMNXNWXOkO0KNo            .,c;.;loool::c::,'',;'
>  ..'',,,,,''......;c.              cKK00OOKWNXNMMMMMMMMMWNKkdkKNWWo          .....                          .....          oWWNKkdkKNWMMMMMMMMMNXNWKOO00KKc              .c;......'',,,,,''..
>       .......   ..'
:.              '0XOkkk0KXNNNWWWWMWWWNKkxk0XWWK,              .....                  .....              ,KWWX0kxkKNWWWMWWWWNNNXK0kkkOX0'              .:'..   .......      
>        ...'
;:;'.  ..'.              cK0kkkOxkKXXXNNXNNXOOOkO00XWXc                .'..''..          ..''..'.                cXWX00OkOOOXNNXNNXXXKkxOkkk0Kc              .'..  .';:;'...      
>        .  .,;::;,,.  .....           cO0OkxooxkkkkkxkkxdxOxxKNN0:                 ..    ....      ....    ..                 :0NNKxxOxdxkkxkkkkkxooxkO0Oc           .....  .,,;::;,.  .      
>              .;ccoc,.   .'''
.         'okkxddxxdxxddxdlcokxkXKd.                .         .'.    .'.         .                .dKXkxkocldxddxxdxxddxkko'         .'''.   .,cocc;.            
>            ..'
,;;;:cc::,.  .''.'....    .;ccoolcoxocoo:;lxxdc.         ........',,'''''''...      ...''''''',,'........         .cdxxl;:oocoxocloocc;.    ....'.''.  .,::cc:;;;,'..          
>            .. ......,;clc:,'
................''''''''',,''................    ............            ............    ................'',,'''''''''................',:clc;,...... ..          
>                    ..'
,',;;;,,,,'',.  .................'''''''...                                                            ...'''''''.................  .,'',,,,;;;,','..                  
>                         .....;,;::cc:c:;;;:;,'
.',,';;;:;col;;l,.                                                              .,l;;loc;:;;;',,'.',;:;;;:c:cc::;,;.....                        
>                             ......;,;c,'
ldl:::::::';c,,;oo'.''.                                                                .''.'oo;,,c;':::::::ldl',c;,;......                            
>                                   . ....:l,,c;'
:;'..'. .,.                                                                          .,. .'..';:';c,,l:.... .                                  
>                                         ..  .. .                                                                                              . ..  ..                                        

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 29 remaining solutions by signing in and submitting your own entry
#30 Rishi Tez Reddy / @RishiTez - Score: 122 - 11/26/24 @ 07:20
qa:s/\(\s*$)<Left>\<Right>/\1\1<CR>yyp:let l=getline('.')<CR>:let r=join(reverse(split,l<BS><BS>(l,'\zs')),'')<CR>:call setline('.',r)<CR>kJj0q26@a:wq<CR>

0 comments


Created by: @lennartack

30 active golfers, 84 entries

Leaderboard (lowest score wins):
15
#1 - Peppa Pig / @PeppaPigSg

05/08/2024 at 10:18AM

15
#2 - John Braxler / @braxler

05/08/2024 at 01:42PM

15
#3 - Danilo J. S. Bellini 🥊🇧🇷 / @danilobellini

05/10/2024 at 02:09PM

15
#4 - Casey O'Donnell / @CaseyOD15519082

05/12/2024 at 11:33AM

15
#5 - nickGPT / @nickandbro

08/22/2024 at 04:17AM

15
#6 - got_windy / @insomnight

11/13/2024 at 08:20AM

17
#7 - Jean George / @JeanGeo20504212

05/09/2024 at 11:51AM

21
#8 - wpr__ / @wpr____

05/08/2024 at 12:24AM

21
#9 - James Tan / @jamesbtan

05/08/2024 at 12:11PM

21
#10 - ShookerAndBeta / @Shooker2012

06/12/2024 at 08:24AM

21
#11 - Pa7shohG / @Pa7shohG

01/25/2025 at 03:20PM

23
#12 - alexeypetrenko / @alexeypetrenko

07/04/2024 at 07:36PM

23
#13 - shooker2012 / @shooker2012

02/05/2025 at 12:23PM

24
#14 - Lennart / @lennartack

05/08/2024 at 09:53AM

24
#15 - kbrashem / @kbrashem

05/14/2024 at 07:04PM

24
#16 - Willy / @Willy6932612311

08/30/2024 at 07:58AM

25
#17 - Sander Meij / @SanderMeij

06/04/2024 at 10:47AM

25
#18 - smiech / @smiech

06/17/2024 at 09:29PM

26
#19 - Thijs / @Liulangzhe98

05/08/2024 at 02:33PM

29
#20 - Aly Thobani / @alythobani

05/10/2024 at 06:16AM

32
#21 - vigojab / @vigojab

05/13/2024 at 02:11AM

32
#22 - Lily / @totallyuniquelily

05/16/2024 at 10:30AM

33
#23 - djheidihoe / @djheidihoe1

05/12/2024 at 07:45PM

47
#24 - Fellow-fiend / @Fellow-fiend

05/19/2024 at 11:41PM

48
#25 - cotarmanach / @cotarmanach

05/18/2024 at 03:19PM

48
#26 - Josh Pius / @josh-pius

10/02/2024 at 04:48AM

57
#27 - Sam W / @samw-improbable

01/06/2025 at 10:04AM

101
#28 - haruto009 / @haruto009

05/21/2024 at 01:25PM

108
#29 - Tatum Roaquin / @tatumroaquin

05/22/2024 at 01:12AM

122
#30 - Rishi Tez Reddy / @RishiTez

11/26/2024 at 07:20AM