TODO2: create phylogenetic tree of vimrcs TODO3: add all options from option.c (see src/nvim/option.c) TODO4: cover the entire github periodically
This script scrapes vimrc's hosted in github and returns the most commonly used vim configurations.
python eigenvimrc.py
The "voting" process may iterate as follows:
def vote(default):
vimrcs = people_curate_their_vimrc()
sleep(a_month)
new_default = most_common_50_percent(vimrcs)
if new_default != default:
return vote(new_default)
else:
return new_default
Install
- Make sure pathogen is available and
execute pathogen#infect()
is in~/.vimrc
cd ~/.vim/bundle
git clone git://github.com/rht/eigenvimrc.git
Result
set nocompatible
> syntax on
Most common vim config out of 13759 vimrc's
set nocompatible
83.33%syntax on
79.78%set number
74.55%set expandtab
71.10%set incsearch
68.44%set hlsearch
67.92%set laststatus=2
67.76%filetype plugin indent on
67.59%set ruler
60.38%set ignorecase
59.67%set autoindent
53.00%set showcmd
50.05%set backspace=indent,eol,start
47.30%set wildmenu
45.68%set background=dark
40.45%let mapleader=","
39.67%set smartcase
38.73%filetype off
37.95%set tabstop=2
36.87%set shiftwidth=4
36.79%set showmatch
36.66%set tabstop=4
36.55%set cursorline
36.49%set t_Co=256
35.90%set nobackup
34.89%set shiftwidth=2
34.49%set encoding=utf-8
33.50%set mouse=a
32.01%set hidden
30.77%set showmode
27.84%set smarttab
27.20%set noswapfile
26.27%set nowrap
26.16%set title
25.41%autocmd!
25.02%set list
25.00%set noerrorbells
23.56%filetype plugin on
23.10%syntax enable
22.85%set smartindent
22.26%set softtabstop=4
21.98%set scrolloff=3
21.14%filetype on
21.08%set relativenumber
19.26%autocmd BufReadPost *
18.46%set autoread
18.45%set softtabstop=2
18.16%colorscheme solarized
18.00%set ttyfast
17.73%set clipboard=unnamed
17.62%filetype indent on
17.41%set gdefault
16.73%set undofile
14.96%set visualbell
14.88%set nostartofline
14.38%set nowritebackup
14.37%set splitright
14.36%set history=1000
14.35%set splitbelow
13.79%set rtp+=~/.vim/bundle/vundle/
13.55%set wrap
13.18%set history=50
12.84%set modeline
12.42%set shortmess=atI
12.38%set guioptions-=T
11.91%set shiftround
11.75%set undodir=~/.vim/undo
11.74%set backupdir=~/.vim/backups
10.76%set wildmode=list:longest
10.75%set esckeys
10.75%set encoding=utf-8 nobomb
10.67%let save_cursor=getpos(".")
10.59%set directory=~/.vim/swaps
10.36%let old_query=getreg('/')
10.32%set backspace=2
9.46%set lazyredraw
9.14%set rtp+=~/.vim/bundle/Vundle.vim
9.13%nnoremap k gk
8.77%nnoremap j gj
8.76%set backup
8.71%colorscheme molokai
8.23%set binary
8.10%set noeol
8.06%set linebreak
7.99%set nofoldenable
7.98%set numberwidth=5
7.92%Plugin 'gmarik/Vundle.vim'
7.87%set novisualbell
7.78%let g:airline_powerline_fonts=1
7.76%set fileencoding=utf-8
7.74%set wildmode=list:longest,list:full
7.66%set exrc
7.58%function! StripWhitespace()
7.44%set secure
7.44%autocmd BufNewFile,BufRead *.json setfiletype json syntax=javascript
7.40%noremap <leader>W :w !sudo tee % > /dev/null<CR>
7.33%vnoremap < <gv
7.21%set foldenable
7.19%vnoremap > >gv
7.17%set foldmethod=indent
7.07%
Colorscheme stat
- solarized 25.00%
- molokai 11.44%
- desert 6.19%
- badwolf 4.33%
- jellybeans 3.99%
- github 2.88%
- default 1.86%
- hybrid 1.84%
- vividchalk 1.72%
- railscasts 1.71%
Plugin manager stat
vam: 0.34% vundle: 10.39% neobundle: 4.40% others or none: 69.96% dein: 0.00% pathogen: 14.91%
Plot
Strangely it doesn't follow the power law distribution. Likely because some settings are highly correlated with the others.
Data
Last updated Mar 31 2017. Repository list is queried from http://ghtorrent.org/dblite/
SELECT * FROM projects WHERE language = 'VimL' AND ((name = 'dotfiles') OR (name = 'vimrc'))