Live data from Hacker News

ShowHN: Scraped 800 .vimrc files from github, analyzed for fun

mcphersonindustries.com

11–18 of 18 posts

Re: ShowHN: Scraped 800 .vimrc files from github, analyzed for fun

#12

Normalisation of settings would be a very good thing to do. 'ruler' and 'ru', 'autoindent' and 'ai', 'etc.' and 'et cetera'.

I'll work on combining these; as a vim neophyte I wasn't totally sure which ones might overlap. At least I got color|colorscheme.

Thanks!

Re: ShowHN: Scraped 800 .vimrc files from github, analyzed for fun

#14
post #6
post #2

Did this for fun mostly to test out casper.js (it's nice!) I'd welcome any feedback on how to better present interesting data, or answer any questions. Thanks!

Will you release the source? I don't use any of the stuff you use, except vim, would be interested to have a look

I have 2 repos on my github account:

https://github.com/alexmcpherson

One is a scaffolded rails app with interesting folders /scraper and /files

And the other is the microsite that was linked in the parent post

Re: ShowHN: Scraped 800 .vimrc files from github, analyzed for fun

#15
Very cool project, thanks for sharing! :)

What could be interesting addition, would be to see how these change over time, ie .vimrc trends.

I had a similar idea for analyzing dotfiles stats, which was subsequently filed in evernote as a 'yet-another-hack-i-would-like-to-do-someday-but-realistically-probably-will-not' ;)

Re: ShowHN: Scraped 800 .vimrc files from github, analyzed for fun

#16
post #13

What a surprise: 574/800 useless set nocompatible. Cargo cult for the win!

What is it purported to do vs. what does it actually do?

Vim can run in "compatible" mode (Vi-like settings) or "nocompatible" mode (Vim-like settings).

    :set nocompatible
is used to switch Vim from "compatible" mode to "nocompatible" mode.

A lot of people put it at the top of their .vimrc, usually together with a comment telling that it's needed for many options and features to work correctly.

But Vim actually switches itself to "nocompatible" mode if it finds a vimrc. It can be the default vimrc in /usr/share/vim/vim7x/ or your own .vimrc, it doesn't matter.

You can test this by removing this line from your .vimrc, launching another Vim instance and doing :set compatible? With or without that line, you'll get nocompatible.

Having this line in your .vimrc essentially does nothing: it sets something "on" that was already "on". As such it's useless cruft but it is not dangerous.

The real problem with it is that it demonstrates a dangerous cargo cult trend among Vim users who copy/paste entire vimrcs from Github or top ranking blog posts without thinking about it for a second. Because this line and the comment appeared in a rather famous blog post(1) by a rather famous vimmer it's now just… everywhere.

I have a lot of respect for Steve Losh and I absolutely don't blame him for including this line in his post: it's useless but harmless so there's no big deal. I certainly have a lot of useless redundant stuff in my .vimrc, too. And I'm totally guilty of using his whole .vimrc verbatim when I started.

But all the people who copied this line from him or from others who copied it from others who copied it from him (who probably copied it from someone else, why not?) should show a little less lazyness, I believe. And a more critical mind.

(1) http://stevelosh.com/blog/2010/09/coming-home-to-vim/

Re: ShowHN: Scraped 800 .vimrc files from github, analyzed for fun

#17
post #12

Normalisation of settings would be a very good thing to do. 'ruler' and 'ru', 'autoindent' and 'ai', 'etc.' and 'et cetera'.

I'll work on combining these; as a vim neophyte I wasn't totally sure which ones might overlap. At least I got color|colorscheme. Thanks!

When you do :help autoindent or :help ai you can see the short version and the long version.

Re: ShowHN: Scraped 800 .vimrc files from github, analyzed for fun

#18
post #13

Earlier quoted context omitted.

What is it purported to do vs. what does it actually do?

Vim can run in "compatible" mode (Vi-like settings) or "nocompatible" mode (Vim-like settings). :set nocompatible is used to switch Vim from "compatible" mode to "nocompatible" mode. A lot of people put it at the top of their .vimrc, usually together with a comment telling that it's needed for many options and features to work correctly. But Vim actually switches itself to "nocompatible" mode if it finds a vimrc . It…

Hmm, maybe I'll get around to looking at his vimrc and seeing what proportion of the settings are in the scraped files. I bet I could further validate your cargo-cult hypothesis.
Post reply on HN