Changelog (details)
- May 28, 2021: shipped v0.5.0 with support for HTTPS
- May 06, 2021: site performance improvements: migrated from MongoDB Atlas to Active Record on Postgres backend (charts)
- Apr 07, 2021: switched avatars to identicons, since Twitter profile pictures are no longer accessible by an easy URL (need better fix)
- Mar 26, 2021: upgraded to Rails 5.2 under Ruby 2.6, using heroku-20 platform
- Mar 22, 2021: shipped v0.4.9 with fix for <fd-61> phantom keystrokes (among other pending fixes)
- Nov 20, 2020: introduced a new view with access to all submissions per user for a specific challenge
- Jul 07, 2018: site performance improvements: pagination/remove jquery
- Dec 28, 2016: disabled user profile pages (bug)
- Jan 18, 2015: shipped v0.4.8 with windows bugfix
- Jan 18, 2015: shipped v0.4.7 with new "local" CLI mode
- Aug 14, 2014: shipped v0.4.6 with routing updates
- Jun 29, 2013: shipped v0.4.5 with bugfix for version reporting
- Jun 28, 2013: shipped v0.4.4 with JSON upload / download
- Jun 22, 2013: shipped v0.4.3 with impored CLI
- Sep 18, 2012: shipped v0.4.2 with bugfix for challenge retry
- Mar 17, 2012: shipped v0.4.1 with improved CLI + emacs support!
- Jan 30, 2011: fix order of top vimgolf ninjas displayed on homepage
- Jan 30, 2011: fix order of top vimgolf ninjas displayed on homepage
- Jan 06, 2011: shipped v0.3.0 with no native extensions + windows support
- Jan 05, 2011: show top 5 VimGolf ninjas on homepage
- Jan 04, 2011: site performance improvements
- Jan 02, 2011: added user profile pages! ex: vimgolf.com/your_handle
- Jan 01, 2011: added RSS feed of latest challenges
- Dec 31, 2010: show lowest 20% of solutions to everyone
- Dec 31, 2010: colorized vimscript output!
- Dec 31, 2010: shipped v0.2.0, now with proper vimscript scoring + parser!
- Dec 31, 2010: golfers can comment on each others entries
- Dec 30, 2010: unlock solutions with same score + only show best entry per user
- Dec 30, 2010: golfers can delete own entries + permalinks to solutions
- Dec 30, 2010: shipped v0.1.3, which now initializes vimgolf's .vimrc (see below)
Rules
- Anyone can create a new challenge
- Creator of the challenge is also the moderator: can view/delete solutions
- Players can submit as many attempts as they want per challenge
- Entries are ranked by score (lowest wins), ties broken by time
- VimGolf initializes your Vim with a custom .vimrc - no custom modifications
- No plugins, predefined macros, etc, are allowed - level playing field
- Refrain from copy/paste, reading in the solution (:read), or using external tools
- Cheaters will be publicly ridiculed by fellow golfers :-)
Note: We're definitely not trying to discourage Vim users from customizing their .vimrc's, defining useful macros or loading external plugins. Having said that, to have a fair competition, we need to level the playing field, and to do that, we're sticking to the basics.
FAQ
- How do I view the solutions? Submit your own to unlock them.
- Can I see all the solutions? You'll have to climb the ladder - practice makes perfect.
- I found a cheat entry! Ping one of the moderators on IRC or twitter!
- What about feature X? Check the Github link in the sidebar, or hop on IRC!
Resources for learning Vim
VimGolf's .vimrc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" http://vimdoc.sourceforge.net/htmldoc/starting.html#vimrc | |
set nocompatible " use vim defaults | |
set scrolloff=3 " keep 3 lines when scrolling | |
set ai " set auto-indenting on for programming | |
set showcmd " display incomplete commands | |
set nobackup " do not keep a backup file | |
set number " show line numbers | |
set ruler " show the current row and column | |
set hlsearch " highlight searches | |
set incsearch " do incremental searching | |
set showmatch " jump to matches when entering regexp | |
set ignorecase " ignore case when searching | |
set smartcase " no ignorecase if Uppercase char present | |
set visualbell t_vb= " turn off error beep/flash | |
set novisualbell " turn off visual bell | |
set backspace=indent,eol,start " make that backspace key work the way it should | |
set runtimepath=$VIMRUNTIME " turn off user scripts, https://github.com/igrigorik/vimgolf/issues/129 | |
syntax on " turn syntax highlighting on by default | |
filetype on " detect type of file | |
filetype indent on " load indent file for specific file type | |
set t_RV= " http://bugs.debian.org/608242, http://groups.google.com/group/vim_dev/browse_thread/thread/9770ea844cec3282 |
Comments / discussions on the vimrc
Setup Tips & Tricks
- Golfing through a proxy: set your "http_proxy" environment variable to URL of proxy
- Custom diff's & flags: set your "DIFF" environment variable (d6946)
- Golfing without ruby installation: use docker
docker run --rm -it -e "key=YOUR_VIMGOLF_KEY" ghcr.io/filbranden/vimgolf challenge_ID
Windows users: To compete you will need to make sure that you can launch "vim" from your command prompt. .
Getting in touch
- @vimgolf on twitter
- #VimGolf on freenode (IRC)
- Open issues on GitHub
- CLI source code on Github