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

prepend * to every non-blank line

Prepend an asterisk to every non-blank line in the input file.

Start file
This is a
very short

file, but it is 
still
full

of

surpises.
End file
*This is a
*very short

*file, but it is 
*still
*full

*of

*surpises.

View Diff

1,2c1,2
< This is a
< very short
---
> *This is a
> *very short
4,6c4,6
< file, but it is 
< still
< full
---
> *file, but it is 
> *still
> *full
8c8
< of
---
> *of
10c10
< surpises.
---
> *surpises.

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 798 remaining solutions by signing in and submitting your own entry
#799 梁(Liang リャン) / @starduliang - Score: 421 - 03/01/20 @ 11:54
:5s/^.+$/<Left><Left><Left><Left><Left><Left><Left><BS>%<Right><Right><Right><Right><Right><Right><Right><Right><Right><Right>i<BS>I*<CR><Up><CR><Esc><Esc><Esc><Esc><Esc>:%s/^<Left><Left><BS><BS>g<Right><Right><Right>.+$/I*<CR><Esc>/<BS>:g/^/*<CR>llllhhh<Esc>uuu<Esc>uujjjkkk/<Esc><Esc>/<BS>:g/^$<Esc><Esc><Esc>jj<Esc><Esc><Esc>:noh<CR>uu/<Esc><Esc>:s%/^/*<CR>:<Up>/<CR><CR>:<Up><Left><Left><Left><Left><Left><Left><BS><Right>%<BS>s<Right><Right><Right><Right><Right><Right><CR><Esc>u<Esc>u<Esc>u<Esc>u<Esc>u<Esc>:noh<CR>:g/^/*/<CR>:noh<CR>:<Up><Up><Left><Left><Left><Left><Left><Left><Left><Left><Right><Right><Right><Right><Right><Right><Right><Left><Left><Left><Left><Left><BS>g<CR>:noh<CR><Esc>:%s/^<Esc><Esc>jjjjjjjj:g/^\S<Left><Left>[<Right><Right><Right>]+$/*&/<CR>:<Up><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><BS>%s<Right><Right><Right><Right><CR>:<Up><Left><Left> <CR>:<Up><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><BS><BS><CR>:<Up><Left><Left><Left><Left><Left><Left><Left><Left><BS><Right><Right><Right><BS><Right><Right><CR>:<Up><Left><Left><Left><Left><Left>\<CR>:q<Esc><Esc><Esc>u:<Up><Up><Left><Esc><Esc><Esc>;<Esc>:noh<CR>:<Up><Up><Left>&<CR>u<Esc>:noh<CR>:<Up><Up><Left><Left><Left><Left><Left><Left><Left><Left><Left>.*<Right><Right>.*<Right><Right><Right><Right><Right><Right><Right><Right><CR>:<Up><Left><Left><Left><Left><Esc>b:<Up><Left><Left><Left><Left><Left><BS><BS><Left><Left><Left><Left><Left><Right><Right><Right><Right><CR>:wq<CR>

0 comments


Created by: @johnreitano

799 active golfers, 3341 entries

Leaderboard (lowest score wins):
11
#331 - Christian Soltermann / @SoltyChristian

05/30/2020 at 01:35AM

11
#332 - Bob / @Bob37174065

06/01/2020 at 11:48AM

11
#333 - Soptik / @Soptik3

06/02/2020 at 11:05AM

11
#334 - Ben Simmons / @Simmons_Ben

06/02/2020 at 09:52PM

11
#335 - Weird al / @QwertytrewQs

06/03/2020 at 09:30PM

11
#336 - Romain / @djizeuscoco

06/04/2020 at 04:28PM

11
#337 - Gabriel Siqueira / @gabrielhsiq

06/05/2020 at 05:54PM

11
#338 - otfsenter / @otfsenter

06/06/2020 at 10:52AM

11
#339 - nico / @res_tantum

06/07/2020 at 07:18AM

11
#340 - Thomas Brrrrrrr Schmahl / @RLloque

06/07/2020 at 02:03PM

11
#341 - Sergey Averkiev / @ExAnimoso

06/08/2020 at 02:53PM

11
#342 - The Oalrus / @mizay7

06/11/2020 at 05:39PM

11
#343 - James Skinner / @skinbad88

06/11/2020 at 06:35PM

11
#344 - Juan Manuel Fresia / @fresiajm

06/12/2020 at 07:43PM

11
#345 - nihilistCookie / @NihilistCookie

06/13/2020 at 07:39AM

11
#346 - khedd / @sinan_khedd

06/13/2020 at 05:15PM

11
#347 - dg_ / @l_o_s_o_s

06/14/2020 at 11:48AM

11
#348 - f / @f68602163

06/14/2020 at 04:29PM

11
#349 - dirkrob / @dirkrob1

06/18/2020 at 03:54AM

11
#350 - lqkem3 / @lqkem31

06/19/2020 at 04:54AM

11
#351 - vimRunnerUp3000 / @VUp3000

06/19/2020 at 01:53PM

11
#352 - ithirty / @ithirty4

06/22/2020 at 04:58PM

11
#353 - Khoyobegenn / @Khoyobegenn

06/24/2020 at 08:55AM

11
#354 - Yuri G. / @SincereEcho

06/24/2020 at 11:44AM

11
#355 - Will / @WillTakeLe

06/25/2020 at 05:09AM

11
#356 - bichoverde / @bichoverde5

06/25/2020 at 09:05AM

11
#357 - example_user_1032452 / @E1032452

06/25/2020 at 05:45PM

11
#358 - mocihan / @mocihan

06/26/2020 at 04:49AM

11
#359 - Francesco De Rose / @fdierre

06/26/2020 at 09:01PM

11
#360 - Jan van Veldhuizen / @grandasmurfo

06/27/2020 at 01:40PM