.vimrc Scraping Data

Methodology

I wrote a casper.js driven scraper to download .gvimrc or .vimrc files from paginated github.com search results. I parsed those files into User :has_many Lines SQLite3 tables with ActiveRecord. I cleaned up odd characters and whitespace, and then explored using ruby via irb and the Firefox SQLite Manager.

Summary Statistics

Overview
Files Scraped 777
Lines Parsed 185,582
Max / Min Lines 1,339 / 1* (an include directive)
Mean Lines / File 240
Line Breakdown
Cruft
Comments 44,102
Blank 34,367
Settings
set 22,175
let 6,078
Mappings
map 4,757
nnoremap 3,189
nmap 3,077
inoremap 912
noremap 852
imap 584
Commands
autocmd 2,965
au 1,491
Miscellaneous
if 1,979
endif 1,946
Pathogen 1,525
Bundle 1,230
syntax 623
color |
colorscheme
287

Selected Settings Distributions

history
tabstop
scrolloff
codewidth
guifont

Color Findings

Summary
Number of Records287
Number of Unique Schemes81
Dark : Light242 : 45
Top 5 Color Schemes
Solarized 69
Desert 22
Molokai 18
IR_black 15
Railscasts 14

Distribution

solarized
desert
molokai
ir_black
railscasts
jellybeans
vividchalk
zenburn
desert256
wombat256
torte
lucius
evening
wombat
koehler
blue
herald
goerz
topfunky-light
twilight
gredark
mustang
slate
anotherdark
hybrid
delek
inkpot
xoria256
darkblue
ir_black_mod
blackboard
256-grayvim
idleFingers
pablo
peaksea
pyte
oceanblack
rdark
rkadeColor
ron
rues
sand
mydefault
elflord
mycolors
softlight
my
default
mustangpp
sunburst
flux
textmate
moria
tir_black_infinity
molokai_mod
tomorrow
getafe
darkspectrum
mlessnau
darkZ
mdskinner
dante
maroloccio
vibrantink
Mustang
candycode
herald_JeffCustom
calmar256-dark
leo
wombat-256
lanai
bensday
kraihlight
wombat256mod
herald_pc
badwolf
kamakou
ydream
jellyx
lucius-transparent
elise

Boolean Setting Rates

This table shows the number of files out of 777 that had the settings turned on. (full results hidden in DOM)

autoindent657
number643
backup612
list606
nocompatible574
incsearch557
ru538
sc524
hls520
expandtab495
hlsearch493
ignorecase491
wrap488
ruler481
ic476
eol469
smartcase434
ai420
wildmenu415
complete410
showmatch392
nobackup339
showcmd326
hid321
visualbell314
cin305
smarttab295
showmode274
hidden265
wildmode252
paste249
noerrorbells245
autoread226
cursorline220
smartindent205
vb201
nowrap196
swapfile181
noswapfile175
title164
novisualbell162
clipboard158
modeline158
copyindent145
more143
foldenable112
lazyredraw97
mh94
shellslash94
gdefault86
linebreak85
shiftround82
ttyfast77
writebackup76
autowrite75
fen75
cindent72
wb72
modelines71
spell69
warn68
nowritebackup66
bin63
nolist54
timeout54
magic52
cpo51
splitright50
cursorcolumn47
splitbelow46
undofile45
autochdir41
nofoldenable41
noex40
nomodeline39
nowb38
lbr36
noexpandtab36
nohls32
wrapscan28
confirm26
nocp25
nohlsearch25
cst24
mousehide24
startofline23
equalalways22
nostartofline22
bomb21
nolazyredraw20
exrc18
relativenumber17
ttimeout17
autowriteall16
secure15
anti12
binary12
noequalalways11
infercase10
nosmartindent10
notimeout10
joinspaces9
noautowrite9
rnu9
showfulltag9
cul8
esckeys8
noautoindent8
nocursorline8
noeb8
noeol8
nonu7
noshowmatch7
nosmarttab7
backupcopy6
nojoinspaces6
nowrapscan6
sb6
tildeop6
cf5
lz5
nonumber5
nospell5
preserveindent5
scs5
antialias4
cscopetag4
noautochdir4
nobomb4
nocursorcolumn4
noet4
noignorecase4
noshowmode4
notitle4
noautowriteall3
nobk3
nocindent3
noexrc3
noic3
noincsearch3
tagbsearch3
noai2
noautoread2
nobinary2
nocscopeverbose2
nohidden2
nopaste2
norelativenumber2
noscrollbind2
notagbsearch2
writeany2
cursorrow1
noantialias1
noar1
nocul1
nodigraph1
noea1
noesckeys1
nofen1
nofsync1
nogdefault1
noicon1
noimdisable1
noinfercase1
nomore1
noruler1
noshowcmd1
nosmartcase1
nosplitbelow1
notbs1
notildeop1
nottimeout1
restorescreen1
spr1
wildignorecase1