HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
spf13
spf13-vim
Vim Script2011–2019
spf13 / spf13-vim

spf13-vim

The ultimate vim distribution

16Distinct people
16Mentions
1Explicit recommenders
15.5KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

The ultimate vim distribution

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

If you are just staring with VIM, I recommend taking a look at spf13-vim (https://github.com/spf13/spf13-vim)

kfinley used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 12:54:37 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year16 dated mentions

Observed mentions: 2011-08-21 01:03:12 UTC to 2019-03-30 18:05:07 UTC.

0123452011-01-01 00:00:00 UTC to 2012-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20112012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2019

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20112011-01-01 00:00:00 UTC2012-01-01 00:00:00 UTC101
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC312
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC505
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC110
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC101
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC211
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC202
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC000
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
spf13-vim : Steve Francia's Vim Distribution __ _ _____ _ ___ _ __ / _/ |___ / __ __(_)_ __ ___ / __| '_ \| |_| | |_ \ _____\ \ / /| | '_ ` _ \ \__ \ |_) | _| |___) |_____|\ V / | | | | | | | |___/ .__/|_| |_|____/ \_/ |_|_| |_| |_| |_| spf13-vim is a distribution of vim plugins and resources for Vim, Gvim and MacVim. It is a good starting point for anyone intending to use VIM for development running equally well on Windows, Linux, *nix and Mac. The distribution is completely customisable using a ~/.vimrc.local, ~/.vimrc.bundles.local, and ~/.vimrc.before.local Vim RC files. Unlike traditional VIM plugin structure, which similar to UNIX throws all files into common directories, making updating or disabling plugins a real mess, spf13-vim 3 uses the Vundle plugin management system to have a well organized vim directory (Similar to mac's app folders). Vundle also ensures that the latest versions of your plugins are installed and makes it easy to keep them up to date. Great care has been taken to ensure that each plugin plays nicely with others, and optional configuration has been provided for what we believe is the most efficient use. Lastly (and perhaps, most importantly) It is completely cross platform. It works well on Windows, Linux and OSX without any modifications or additional configurations. If you are using MacVim or Gvim additional features are enabled. So regardless of your environment just clone and run. Installation Requirements To make all the plugins work, specifically neocomplete, you need vim with lua. Linux, *nix, Mac OSX Installation The easiest way to install spf13-vim is to use our automatic installer by simply copying and pasting the following line into a terminal. This will install spf13-vim and backup your existing vim configuration. If you are upgrading from a prior version (before 3.0) this is also the recommended installation. Requires Git 1.7+ and Vim 7.3+ curl https://j.mp/spf13-vim3 -L > spf13-vim.sh && sh spf13-vim.sh If you have a bash-compatible shell you can run the script directly: sh <(curl https://j.mp/spf13-vim3 -L) Installing on Windows On Windows and *nix Git and Curl are required. Also, if you haven't done so already, you'll need to install Vim. The quickest option to install all three dependencies (Git, Curl, Vim and spf13-vim) is via Chocolatey NuGet. After installing Chocolatey, execute the following commands on the command prompt: C:\> choco install spf13-vim Note: The spf13-vim package will install Vim also! If you want to install msysgit, Curl and spf13-vim individually, follow the directions below. Installing dependencies Install Vim After the installation of Vim you must add a new directory to your environment variables path to make it work with the script installation of spf13. Open Vim and write the following command, it will show the installed directory: :echo $VIMRUNTIME C:\Program Files (X86)\Vim\vim74 Then you need to add it to your environment variable path. After that try execute vim within command prompt (press Win-R, type cmd, press Enter) and you’ll see the default vim page. Install msysgit After installation try running git --version within command prompt (press Win-R, type cmd, press Enter) to make sure all good: C:\> git --version git version 1.7.4.msysgit.0 Setup Curl Instructions blatantly copied from vundle readme Installing Curl on Windows is easy as Curl is bundled with msysgit! But before it can be used with Vundle it's required make curl run in command prompt. The easiest way is to create curl.cmd with this content @rem Do not use "echo off" to not affect any child calls. @setlocal @rem Get the abolute path to the parent directory, which is assumed to be the @rem Git installation root. @for /F "delims=" %%I in ("%~dp0..") do @set git_install_root=%%~fI @set PATH=%git_install_root%\bin;%git_install_root%\mingw\bin;%PATH% @if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH% @if not exist "%HOME%" @set HOME=%USERPROFILE% @curl.exe %* And copy it to C:\Program Files\Git\cmd\curl.cmd, assuming msysgit was installed to c:\Program Files\Git to verify all good, run: C:\> curl --version curl 7.21.1 (i686-pc-mingw32) libcurl/7.21.1 OpenSSL/0.9.8k zlib/1.2.3 Protocols: dict file ftp ftps http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp Features: Largefile NTLM SSL SSPI libz Installing spf13-vim on Windows The easiest way is to download and run the spf13-vim-windows-install.cmd file. Remember to run this file in Administrator Mode if you want the symlinks to be created successfully. Updating to the latest version The simplest (and safest) way to update is to simply rerun the installer. It will completely and non destructively upgrade to the latest version. curl https://j.mp/spf13-vim3 -L -o - | sh Alternatively you can manually perform the following steps. If anything has changed with the structure of the configuration you will need to create the appropriate symlinks. cd $HOME/to/spf13-vim/ git pull vim +BundleInstall! +BundleClean +q Fork me on GitHub I'm always happy to take pull requests from others. A good number of people are already contributors to spf13-vim. Go ahead and fork me. A highly optimized .vimrc config file The .vimrc file is suited to programming. It is extremely well organized and folds in sections. Each section is labeled and each option is commented. It fixes many of the inconveniences of vanilla vim including A single config can be used across Windows, Mac and Linux Eliminates swap and backup files from littering directories, preferring to store in a central location. Fixes common typos like :W, :Q, etc Setup a solid set of settings for Formatting (change to meet your needs) Setup the interface to take advantage of vim's features including omnicomplete line numbers syntax highlighting A better ruler & status line & more Configuring included plugins Customization Create ~/.vimr
Read the full README on GitHub

What Hacker News says

16 sources
You're right, basic Vim or Neovim are definitely not easier, especially that you have multiple packages to choose from. I believe it's easier to start with one of existing Vim configurations like Janus[0] or spf13-vim[1]. I tried a couple of such frameworks and they helped me a lot. They come with set of packages for navigation, fuzzy finding, as well as with some package manager. They're also quite easy to install. [0] - https://github.com/carlhuda/janus/ [1] - https://github.com/spf13/spf13-vim
In Coc.nvim – Intellisense Engine for Vim8 and Neovim
Seconded. I switched to Vim as my primary editor about two months ago. I remembered how much easier Emacs Live[0] had made my life when I was giving Emacs a serious go a little whole ago, and found a sorta-equivalent for Vim[1] which smoothed over a lot of the rough edges and put in some of the modern convenience an ST die-hard like me would expect (autocompletion, package management and what have you). That left one remaining barrier, which is the weirdness of modal editing; which is the important barrier, because the only reason you'd use vim is to sign up to the pre-eminent modal editor. Maybe, two new laptops from now, or one lonely weekend, I'll take a hacksaw to spf13 and strip out the bits I don't need. But for a shallow onramp experience, it's been a godsend. [0] https://github.com/overtone/emacs-live [1] https://github.com/spf13/
Read the rest
In Vim for Humans
drake01·Apr 29, 2016Submission

Ask HN: Vim starup time for opening 1000 lines code file

Hi vim users, What's average startup time for opening, say a 1000 line python/c/<your favorite programming lang> file? How to find startup time: [0]~$ vim --startuptime ~/recordtime.log a-file-with-say-1000-lines-code Now the file ~/recordtime.log 's last line: shows time (milliseconds) in first column with comment "--- VIM STARTED ---". That's vim startup time. For me: * Startup time :2885.87 milliseconds * Number of lines :3719 * Programming Lang :python * Config :hacked version of spf-13-vim https://github.com/spf13/spf13-vim (956 line .vimrc and ~120 bundles(plugins) being sourced. * VIM version (vim --version) :VIM - Vi IMproved 7.4 * Operating system cat /etc/lsb-release for ubuntu :Ubuntu 14.04 * Share hardware details if you want.. * Any other relevant information. Interested users may use above
Read the rest
format or whatever works for you! Please note: Don't get in flame wars on Usenet (or anywhere else). [ http://www.catb.org/esr/faqs/hacker-howto.html ]
1 points · Open discussion

Ask HN: A better Vim distribution?

I'm trying to change my development workflow. Currently I find myself in graphical editors, writing C++ and I dont feel the workflow is great. Mouse to Keyboard, back again. Ideally I'd like to end up with split screen editing, left hand file navigation, tabs. Do everything from the keyboard. This is going to take some practice getting used to. So I downloaded the spf13 vim distro: https://github.com/spf13/spf13-vim But now I am realizing I need a lot more knowledge to customize it. I cant just hop in and use it. Things like NERDTree persisting across all tabs. Setting up split screen from the start. Tabs. Where do I find the balance between becoming productive in vim and learning to customize it to actually continuing to code and make progress as I can with my graphical editors?
6 points · Open discussion
Yes. I've learned tons from the vim setups of individuals and from some vim "distributions". A rather non-exhaustive list of examples: Steve Losh's dotfiles: https://bitbucket.org/sjl/dotfiles/src Drew Neil's dotfiles: https://github.com/nelstrom/dotfiles Tim Pope's vim plugins (the vim-* repos): https://github.com/tpope Kana Natsuno's vim plugins (the vim-* repos): https://github.com/kana spf13-vim distro: https://github.com/spf13/spf13-vim Janus distro: https://github.com/carlhuda/janus I don't use any of these "stock" or consider them authoritative -- I've slowly cherry-picked from these and other sources to learn about patterns, plugins, tips, etc. Each source has its biases, implicit and sometimes explicitly documented. Those biases are usually a good thing as they reflect the workflows and customization needs of the authors. I w
Read the rest
ant to learn from these to better tailor my own customizations.
In Vim Revisited (2011)
>> Does anyone know of a guide to getting a sane, non-broken vim working with some basic plugins like syntastic There are a number of vim-setups that are popular. janus (https://github.com/carlhuda/janus), spf13 (https://github.com/spf13/spf13-vim) are pretty popular ones. >>Last time I tried I couldn't bind F-keys for some reason F keys bind fine for me, using OS X Terminal, and gnome-shell in linux. Are you using an esoteric term? >> I couldn't get syntastic's error marking column to stay on instead of shifting my text back and forth all the time That is using the SignColumn part of vim. As far as I know, vim doesn't allow you to force the existance of SignColumn. You can open up a bug report at their Google Code repo if you think its worthwhile >> I couldn't get auto-complete mapped to tab properly Depending on your language, YouComple
Read the rest
teMe (https://github.com/Valloric/YouCompleteMe) is amazing, but if you don't do C based stuff NeoComplCache is great too (http://www.vim.org/scripts/script.php?script_id=2620) >> the extra functionality of vim ends up being counter-productive when none of it works right To be fair, thats true of any tool.
In Vim After 11 Years
I recently "declared vim bankruptcy" and rebuilt my vimrc from scratch. I want a full-featured vim, but I want to keep it responsive. There are many fancy presets out there https://github.com/skwp/dotfiles https://github.com/carlhuda/janus https://github.com/spf13/spf13-vim https://github.com/vgod/vimrc but they freak me out. They turn vim into a singing, dancing, syntax/spell checking, indexing, buffer Whack-a-mole. My philosophy is that vim shouldn't do anything behind your back, but it should do great things if you ask. * Jumping to definitions * Finding all uses of a symbol in a repo * Running things + A test + Code in a repl * Git blame, diff * Summarizing methods in open file * Navigating my (rails) app When putting this together, I found Vundle to be the easiest package manager. Just specify any desired
Read the rest
vim plugin github repos in your vimrc and let the :BundleInstall, :BundleClean etc commands do the rest. I used the standard plugins for most of the stated objectives, but there are places where I found some tricks. The coolest trick is running external programs without locking vim. You can send commands and selections to a tmux terminal using Vimux: https://github.com/benmills/vimux After wrangling with running vim under tmux, I discovered that the vimux plugin works in MacVim too when tmux is running alongside. The thing I run most often is tests. In Rubyland people advise using Guard, which runs tests automatically when test files change. However this goes against my "don't do things behind my back" philosophy. Vim-turbux is more my taste. It extends vimux to run cucumber and rspec tests with the press of a key: https://github.com/jgdavey/vim-turbux The next area where most megadotfile presets are lacking is finding the uses of code. Finding code definition is pretty well handled by exuberant-ctags and vim-rails, but finding code uses is trickier. The cscope utility does this, but its language support is limited from what I could tell. Another contender is GNU global. Its setup is...interesting: http://simple-and-basic.com/2008/10/using-rtags-ang-gtags-fo... I couldn't get it working and the GTAGS files it generates cluttered my repos. I cheated and just mapped a key to do :Ggrep (git-fugitive) on the current word. While cscope or global would give the finest results, a massive grep comes close. Let me know, anyone, if you've gotten the tagging systems working better. My work in progress is here: https://github.com/begriffs/dotfiles I'd appreciate any criticism; I have lots to learn.
In Plugins you should put in your vimrc

Showing the 15 most recent of 16 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.