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 66 remaining solutions by signing in and submitting your own entry
#67 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

67 active golfers, 250 entries

Leaderboard (lowest score wins):
41
#61 - Anton Davydov / @anton_davydov

09/03/2015 at 10:10AM

41
#62 - luffy / @raxcoi

09/13/2015 at 08:29PM

43
#63 - oscar / @zonza_mas

09/03/2015 at 03:56PM

43
#64 - Joey / @joeyism101

09/04/2015 at 01:39PM

49
#65 - Anoop Kumar / @anooplive

09/03/2015 at 01:09PM

53
#66 - Yaroslav Kanarev / @yarosurabu

09/07/2015 at 12:42PM

154
#67 - Gurukandhamoorthi / @Gurukandhamoor1

07/31/2017 at 02:57PM