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 55e814a35f5608403d000001

Vim's not included features

Filter not included (-) features in a hypothetical installation of vim.

Start file
+acl             +farsi           +mouse_netterm   +syntax
+arabic          +file_in_path    +mouse_sgr       +tag_binary
+autocmd         +find_in_path    -mouse_sysmouse  +tag_old_static
-balloon_eval    +float           +mouse_urxvt     -tag_any_white
-browse          +folding         +mouse_xterm     -tcl
++builtin_terms  -footer          +multi_byte      +terminfo
+byte_offset     +fork()          +multi_lang      +termresponse
+cindent         -gettext         -mzscheme        +textobjects
-clientserver    -hangul_input    +netbeans_intg   +title
+clipboard       +iconv           +path_extra      -toolbar
+cmdline_compl   +insert_expand   +perl            +user_commands
+cmdline_hist    +jumplist        +persistent_undo +vertsplit
+cmdline_info    +keymap          +postscript      +virtualedit
+comments        +langmap         +printer         +visual
+conceal         +libcall         +profile         +visualextra
+cryptv          +linebreak       +python          +viminfo
+cscope          +lispindent      -python3         +vreplace
+cursorbind      +listcmds        +quickfix        +wildignore
+cursorshape     +localmap        +reltime         +wildmenu
+dialog_con      -lua             +rightleft       +windows
+diff            +menu            +ruby            +writebackup
+digraphs        +mksession       +scrollbind      -X11
-dnd             +modify_fname    +signs           -xfontset
-ebcdic          +mouse           +smartindent     -xim
+emacs_tags      -mouseshape      -sniff           -xsmp
+eval            +mouse_dec       +startuptime     -xterm_clipboard
+ex_extra        -mouse_gpm       +statusline      -xterm_save
+extra_search    -mouse_jsbterm   -sun_workshop    -xpm
End file
-balloon_eval
-browse
-clientserver
-dnd
-ebcdic
-footer
-gettext
-hangul_input
-lua
-mouseshape
-mouse_gpm
-mouse_jsbterm
-mouse_sysmouse
-mzscheme
-python3
-sniff
-sun_workshop
-tag_any_white
-tcl
-toolbar
-X11
-xfontset
-xim
-xsmp
-xterm_clipboard
-xterm_save
-xpm

View Diff

1,28c1,27
< +acl             +farsi           +mouse_netterm   +syntax
< +arabic          +file_in_path    +mouse_sgr       +tag_binary
< +autocmd         +find_in_path    -mouse_sysmouse  +tag_old_static
< -balloon_eval    +float           +mouse_urxvt     -tag_any_white
< -browse          +folding         +mouse_xterm     -tcl
< ++builtin_terms  -footer          +multi_byte      +terminfo
< +byte_offset     +fork()          +multi_lang      +termresponse
< +cindent         -gettext         -mzscheme        +textobjects
< -clientserver    -hangul_input    +netbeans_intg   +title
< +clipboard       +iconv           +path_extra      -toolbar
< +cmdline_compl   +insert_expand   +perl            +user_commands
< +cmdline_hist    +jumplist        +persistent_undo +vertsplit
< +cmdline_info    +keymap          +postscript      +virtualedit
< +comments        +langmap         +printer         +visual
< +conceal         +libcall         +profile         +visualextra
< +cryptv          +linebreak       +python          +viminfo
< +cscope          +lispindent      -python3         +vreplace
< +cursorbind      +listcmds        +quickfix        +wildignore
< +cursorshape     +localmap        +reltime         +wildmenu
< +dialog_con      -lua             +rightleft       +windows
< +diff            +menu            +ruby            +writebackup
< +digraphs        +mksession       +scrollbind      -X11
< -dnd             +modify_fname    +signs           -xfontset
< -ebcdic          +mouse           +smartindent     -xim
< +emacs_tags      -mouseshape      -sniff           -xsmp
< +eval            +mouse_dec       +startuptime     -xterm_clipboard
< +ex_extra        -mouse_gpm       +statusline      -xterm_save
< +extra_search    -mouse_jsbterm   -sun_workshop    -xpm
---
> -balloon_eval
> -browse
> -clientserver
> -dnd
> -ebcdic
> -footer
> -gettext
> -hangul_input
> -lua
> -mouseshape
> -mouse_gpm
> -mouse_jsbterm
> -mouse_sysmouse
> -mzscheme
> -python3
> -sniff
> -sun_workshop
> -tag_any_white
> -tcl
> -toolbar
> -X11
> -xfontset
> -xim
> -xsmp
> -xterm_clipboard
> -xterm_save
> -xpm

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 54 remaining solutions by signing in and submitting your own entry
#55 Gurukandhamoorthi / @Gurukandhamoor1 - Score: 154 - 07/31/17 @ 14:57
W<C-V>GWWhxGo<Esc>pggW<C-V>28GWWhxGo<Esc>pggW<C-V>28GWW<Esc><Esc>kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk<End><Left><Left><Left><Left><Left><Left><C-V>28GWWWWWW<Esc><Esc>kkggW<C-V>28GEEEEEE<Esc>kkkggf+<C-V>28G$xGpuo<Esc>pgg:v/-/d<CR>HGgg:%s/ */<BS>$/g<BS>/g<CR>ZZ

0 comments


Created by: @pauloromeira

55 active golfers, 157 entries

Leaderboard (lowest score wins):
32
#31 - Saki Gw / @Sakigw

02/02/2017 at 02:45AM

33
#32 - Gabriel Florit / @gabrielflorit

09/05/2015 at 07:33AM

33
#33 - Rasmus P / @rasmup

09/15/2015 at 09:49PM

33
#34 - NuM / @NuM314

10/24/2015 at 10:04AM

33
#35 - Árpád Krejczinger / @krarpi

11/11/2015 at 01:15PM

33
#36 - Frederik Klama / @fklama

01/27/2016 at 02:42PM

34
#37 - Keyboard Fire / @KeyboardFire

09/11/2015 at 09:08PM

34
#38 - Zach Gulde / @zgulde

02/29/2016 at 06:45AM

35
#39 - Mart T / @xtimmu

09/03/2015 at 06:48PM

35
#40 - Georgi Georgiev / @GeorgievGeorgeS

09/06/2015 at 10:57AM

36
#41 - Kevin Merlin / @mp3merlin

09/17/2015 at 09:05AM

37
#42 - Paulo H Baumann / @PauloBaumann

09/15/2015 at 11:18PM

37
#43 - Marcin Sza / @coot_

09/16/2015 at 07:50AM

37
#44 - Pete Sevander / @Sevanteri

11/12/2015 at 01:53PM

37
#45 - Daniel / @Daniel00288663

04/03/2017 at 12:58PM

38
#46 - Walker Boh / @walker_boh

09/30/2015 at 02:20PM

38
#47 - Bogumił Kamiński / @BogumilKaminski

10/26/2015 at 04:31PM

40
#48 - Avian Y / @y_avian

06/28/2017 at 08:41PM

41
#49 - Anton Davydov / @anton_davydov

09/03/2015 at 10:10AM

41
#50 - luffy / @raxcoi

09/13/2015 at 08:29PM

43
#51 - oscar / @zonza_mas

09/03/2015 at 03:56PM

43
#52 - Joey / @joeyism101

09/04/2015 at 01:39PM

49
#53 - Anoop Kumar / @anooplive

09/03/2015 at 01:09PM

53
#54 - Yaroslav Kanarev / @yarosurabu

09/07/2015 at 12:42PM

154
#55 - Gurukandhamoorthi / @Gurukandhamoor1

07/31/2017 at 02:57PM