8000 GitHub - gotunandan/spf13-vim: The ultimate vim distribution
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

gotunandan/spf13-vim

 
 

Repository files navigation

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.

spf13-vim image

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

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 already, you'll need to install Vim.
The quickest option to install all three dependencies (Git, Curl, Vim and spf13-vim) via Chocolatey NuGet and the spf13.vim package. After running the Chocolatey install, execute the following commands on the command prompt:

cinst git
cinst curl
cinst ctags
cinst 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 blatently 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 simpliest (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

spf13-vimrc image

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 ~/.vimrc.local and ~/.gvimrc.local for any local customizations.

For example, to override the default color schemes:

    echo colorscheme ir_black  >> ~/.vimrc.local

Before File

Create a ~/.vimrc.before.local file to define any customizations that get loaded before the spf13-vim .vimrc.

For example, to prevent autocd into a file directory:

    echo let g:spf13_no_autochdir = 1 >> ~/.vimrc.before.local

For a list of available spf13-vim specific customization options, look at the ~/.vimrc.before file.

Fork Customization

There is an additional tier of customization available to those who want to maintain a fork of spf13-vim specialized for a particular group. These users can create .vimrc.fork and .vimrc.bundles.fork files in the root of their fork. The load order for the configuration is:

  1. .vimrc.before - spf13-vim before configuration
  2. .vimrc.before.fork - fork before configuration
  3. .vimrc.before.local - before user configuration
  4. .vimrc.bundles - spf13-vim bundle configuration
  5. .vimrc.bundles.fork - fork bundle configuration
  6. .vimrc.bundles.local - local user bundle configuration
  7. .vimrc - spf13-vim vim configuration
  8. .vimrc.fork - fork vim configuration
  9. .vimrc.local - local user configuration

See .vimrc.bundles for specifics on what options can be set to override bundle configuration. See .vimrc.before for specifics on what options can be overridden. Most vim configuration options should be set in your .vimrc.fork file, bundle configuration needs to be set in your .vimrc.bundles.fork file.

You can specify the default bundles for your fork using .vimrc.before.fork file. Here is how to create an example .vimrc.before.fork file in a fork repo for the default bundles.

    echo let g:spf13_bundle_groups=[\'general\', \'programming\', \'misc\', \'youcompleteme\'] >> .vimrc.before.fork

Once you have this file in your repo, only the bundles you specified will be installed during the first installation of your fork.

You may also want to update your README.markdown file so that the bootstrap.sh link points to your repository and your bootstrap.sh file to pull down your fork.

For an example of a fork of spf13-vim that provides customization in this manner see taxilian's fork.

Plugins

spf13-vim contains a curated set of popular vim plugins, colors, snippets and syntaxes. Great care has been made to ensure that these plugins play well together and have optimal configuration.

Adding new plugins

Create ~/.vimrc.bundles.local for any additional bundles.

To add a new bundle

    echo Bundle \'spf13/vim-colors\' >> ~/.vimrc.bundles.local

Removing (disabling) an included plugin