GithubHelp home page GithubHelp logo

pw-vim's Introduction

pw-vim : PerfectWorks's Vim Distribution


/\  == \ /\ \  _ \ \      /\ \ / /  /\ \   /\ "-./  \   
\ \  _-/ \ \ \/ ".\ \     \ \ \'/   \ \ \  \ \ \-./\ \  
 \ \_\    \ \__/".~\_\     \ \__|    \ \_\  \ \_\ \ \_\ 
  \/_/     \/_/   \/_/      \/_/      \/_/   \/_/  \/_/ 

pw-vim is a distribution of vim plugins and resources for Vim, Gvim and MacVim, an forked repository from spf13-vim.

Installation

Linux, *nix, Mac OSX Installation

The easiest way to install pw-vim is to use our automatic installer by simply copying and pasting the following line into a terminal. This will install pw-vim and backup your existing vim configuration. If you are upgrading from a prior version (before 3.0) this is also the recommended installation.

    curl https://raw.github.com/perfectworks/pw-vim/master/bootstrap.sh -L -o - | sh

Installing on Windows

On Windows and *nix Git and Curl are required. Also, if you haven't already, you'll need to install Vim.

Installing dependencies

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 NeoBundle 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 pw-vim on Windows

The easiest way is to download and run the pw-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://raw.github.com/perfectworks/pw-vim/master/bootstrap.sh -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/pw-vim/
    git pull
    vim +NeoBundleInstall! +NeoBundleClean +q

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

Fork Customization

There is an additional tier of customization available to those who want to maintain a fork of pw-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.bundles.local - local user bundle configuration
  2. .vimrc.bundles.fork - fork bundle configuration
  3. .vimrc.bundles - pw-vim bundle configuration
  4. .vimrc - pw-vim vim configuration
  5. .vimrc.fork - fork vim configuration
  6. .vimrc.local - local user configuration

See .vimrc.bundles for specifics on what options can be set to override bundle configuration. See .vimrc 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 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.

Plugins

pw-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 NeoBundle \'spf13/vim-colors\' >> ~/.vimrc.bundles.local

Removing (disabling) an included plugin

Create ~/.vimrc.local if it doesn't already exist.

Add the NeoBundleDisable command to this line. It takes the same input as the Bundle line, so simply copy the line you want to disable and add 'Un' to the beginning.

For example, disabling the 'AutoClose' and 'scrooloose/syntastic' plugins

    echo NeoBundleDisable \'AutoClose\' >> ~/.vimrc.local
    echo NeoBundleDisable \'scrooloose/syntastic\' >> ~/.vimrc.local

Remember to run ':NeoBundleClean!' after this to remove the existing directories

Difference betweet pw-vim and spf13-vim

Main changes:

  • Use [Unite] instead ctrlp.
  • Map jj to <ESC>.
  • Add block search support.
  • Map <F7> and <F8> to jump in location-list.
  • Swap 0 and ^, 0 is more convenience.
  • Use my favorite color theme [molokai] instead solarized.
  • Remove a dozen language support plugins such like ruby, scala, twig, cucumber.
  • Remove some useless plugin: neocomplcache, tagbar, Syntastic.
  • Reset some Vim settings to default:
    • Unbind vim register and system clipboard.
    • Remove options from viewoptions.
    • nospell.
    • wrap.
    • scrolljump to 0.
    • scrolloff to 0.
  • Key mapping
    • Unmap <C-J>, <C-K>, <C-L>, <C-H>.
    • Unmap < and >.
    • Unmap j/k.
  • Add a new bundle group fenbi for my team.

The reason is very simple: I don't need them.

Bundle group fenbi

The bundle group fenbi is some plugin used by our team, so fell free to disable this group if you is not in our team.

Fork me on GitHub

I'm always happy to take pull requests from others. Go ahead and fork me.

pw-vim's People

Contributors

spf13 avatar e7h4n avatar putermancer avatar taxilian avatar johntyree avatar jhnwsk avatar jcbwlkr avatar jamestomasino avatar mmikitka avatar jphustman avatar sbennett18 avatar joveyu avatar victoredwardocallaghan avatar chrisnicola avatar xcmer avatar parherman avatar wolfgangpfnuer avatar stephpy avatar jhenahan avatar lihuazhang avatar ramonmaruko avatar kevinwaddle avatar joshbetz avatar gaelan avatar benvds avatar amirh avatar syst3mw0rm avatar mriegler avatar markdwhite avatar snai avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.