1 vimrc 1 vote
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
plugin
.gitattributes
.gitignore
README.head.md
README.md
README.tail.md
eigenvimrc.py
fig.png
util.py

README.md

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

  1. Make sure pathogen is available and execute pathogen#infect() is in ~/.vimrc
  2. cd ~/.vim/bundle
  3. git clone git://github.com/rht/eigenvimrc.git

Result

set nocompatible > syntax on

Most common vim config out of 13759 vimrc's

  1. set nocompatible 83.33%
  2. syntax on 79.78%
  3. set number 74.55%
  4. set expandtab 71.10%
  5. set incsearch 68.44%
  6. set hlsearch 67.92%
  7. set laststatus=2 67.76%
  8. filetype plugin indent on 67.59%
  9. set ruler 60.38%
  10. set ignorecase 59.67%
  11. set autoindent 53.00%
  12. set showcmd 50.05%
  13. set backspace=indent,eol,start 47.30%
  14. set wildmenu 45.68%
  15. set background=dark 40.45%
  16. let mapleader="," 39.67%
  17. set smartcase 38.73%
  18. filetype off 37.95%
  19. set tabstop=2 36.87%
  20. set shiftwidth=4 36.79%
  21. set showmatch 36.66%
  22. set tabstop=4 36.55%
  23. set cursorline 36.49%
  24. set t_Co=256 35.90%
  25. set nobackup 34.89%
  26. set shiftwidth=2 34.49%
  27. set encoding=utf-8 33.50%
  28. set mouse=a 32.01%
  29. set hidden 30.77%
  30. set showmode 27.84%
  31. set smarttab 27.20%
  32. set noswapfile 26.27%
  33. set nowrap 26.16%
  34. set title 25.41%
  35. autocmd! 25.02%
  36. set list 25.00%
  37. set noerrorbells 23.56%
  38. filetype plugin on 23.10%
  39. syntax enable 22.85%
  40. set smartindent 22.26%
  41. set softtabstop=4 21.98%
  42. set scrolloff=3 21.14%
  43. filetype on 21.08%
  44. set relativenumber 19.26%
  45. autocmd BufReadPost * 18.46%
  46. set autoread 18.45%
  47. set softtabstop=2 18.16%
  48. colorscheme solarized 18.00%
  49. set ttyfast 17.73%
  50. set clipboard=unnamed 17.62%
  51. filetype indent on 17.41%
  52. set gdefault 16.73%
  53. set undofile 14.96%
  54. set visualbell 14.88%
  55. set nostartofline 14.38%
  56. set nowritebackup 14.37%
  57. set splitright 14.36%
  58. set history=1000 14.35%
  59. set splitbelow 13.79%
  60. set rtp+=~/.vim/bundle/vundle/ 13.55%
  61. set wrap 13.18%
  62. set history=50 12.84%
  63. set modeline 12.42%
  64. set shortmess=atI 12.38%
  65. set guioptions-=T 11.91%
  66. set shiftround 11.75%
  67. set undodir=~/.vim/undo 11.74%
  68. set backupdir=~/.vim/backups 10.76%
  69. set wildmode=list:longest 10.75%
  70. set esckeys 10.75%
  71. set encoding=utf-8 nobomb 10.67%
  72. let save_cursor=getpos(".") 10.59%
  73. set directory=~/.vim/swaps 10.36%
  74. let old_query=getreg('/') 10.32%
  75. set backspace=2 9.46%
  76. set lazyredraw 9.14%
  77. set rtp+=~/.vim/bundle/Vundle.vim 9.13%
  78. nnoremap k gk 8.77%
  79. nnoremap j gj 8.76%
  80. set backup 8.71%
  81. colorscheme molokai 8.23%
  82. set binary 8.10%
  83. set noeol 8.06%
  84. set linebreak 7.99%
  85. set nofoldenable 7.98%
  86. set numberwidth=5 7.92%
  87. Plugin 'gmarik/Vundle.vim' 7.87%
  88. set novisualbell 7.78%
  89. let g:airline_powerline_fonts=1 7.76%
  90. set fileencoding=utf-8 7.74%
  91. set wildmode=list:longest,list:full 7.66%
  92. set exrc 7.58%
  93. function! StripWhitespace() 7.44%
  94. set secure 7.44%
  95. autocmd BufNewFile,BufRead *.json setfiletype json syntax=javascript 7.40%
  96. noremap <leader>W :w !sudo tee % > /dev/null<CR> 7.33%
  97. vnoremap < <gv 7.21%
  98. set foldenable 7.19%
  99. vnoremap > >gv 7.17%
  100. set foldmethod=indent 7.07%

Colorscheme stat

  1. solarized 25.00%
  2. molokai 11.44%
  3. desert 6.19%
  4. badwolf 4.33%
  5. jellybeans 3.99%
  6. github 2.88%
  7. default 1.86%
  8. hybrid 1.84%
  9. vividchalk 1.72%
  10. 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. plot

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'))