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 [challenge ID]

Played Challenges

Vice versa - 5494 entries

Little role switching.

  • Best score: 2
  • Best player score: 12
  • Number of attempts: 5
I forgot quotes - 10443 entries


  • Best score: 10
  • Best player score: 10
  • Number of attempts: 7
Change The Perspective - 31 entries

This is a go game recodes file(.sgf file, refer to It base on such a coordinate system: in vertical direction, is from top(farthest end) to bottom, mark as a,b,c,...,s(19*19 board); in horizontal direction, is from left to right, uses the same notations. For Example, the coordinate notation 'cq', is the position at the bottom-left corner(vertical coordinate first). The record is from one player's perspective. We need to change to another's, but we don't want to change coordinate system, let it keep top to bottom and left to right. so we have to change the coordinates, a <-> s, b <-> r,c <-> q, etc. the Position 'cq', as transformation, it will be 'qd'.

  • Best score: 33
  • Best player score: 54
  • Number of attempts: 1
Nesting SASS - 208 entries

Move a block inside another block and indent it

  • Best score: 9
  • Best player score: 9
  • Number of attempts: 2
Just the middle - 8609 entries

Delete the instructions at the top and bottom.

  • Best score: 7
  • Best player score: 8
  • Number of attempts: 1
One number per line - 10902 entries

Just give me the numbers.

  • Best score: 14
  • Best player score: 14
  • Number of attempts: 7
Interweave two blocks of text - 475 entries

Suppose you've got data on a list of things from multiple sources. They're all in separate chunks, so how might you create a tabular output?

  • Best score: 15
  • Best player score: 15
  • Number of attempts: 3
Array transposition - 1332 entries

Transpose two arrays into one.

  • Best score: 16
  • Best player score: 17
  • Number of attempts: 6
Simple, Practical, and Common - 21855 entries

Simple things we do all the time should be able to be done with very few keystrokes, but sometimes I find something I need to do makes me go, "There MUST be a better way." This challenge is just a simple movement and entering text at a certain place.

  • Best score: 2
  • Best player score: 22
  • Number of attempts: 8
Hello ${world} - 205 entries

Migrate a JavaScript String from concatenation to ES6 interpolation.

  • Best score: 24
  • Best player score: 24
  • Number of attempts: 4
C Reformatting - 581 entries

You may use Visual mode... or not. #uppercase

  • Best score: 30
  • Best player score: 32
  • Number of attempts: 7
Karol Łukaszewicz

entered into 11 challenges

contributed 0 challenges