Skip to content

The ult-Vim-ate Vim setup! It's so good that you'll have a hard time believing it exists!

Notifications You must be signed in to change notification settings

kelsey/vimulacrum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vimulacrum

The ult-Vim-ate Vim setup! It's so good that you'll have a hard time believing it exists!

 

vim·u·la·crum [vim-yuh-ley-kruhm] /ˌvɪmyəˈleɪkrəm/

noun, plural vim·u·la·cra [-kruh] /-krə/

  1. a slight, unreal, or superficial likeness or semblance.

  2. an effigy, image, or representation: a vimulacrum of Vim.

Origin:

2012; Unix-speak v(im) a highly configurable text editor built to enable efficient text editing + Latin (s)imulācrum likeness, image, equivalent to simulā ( re ) to simulate + -crum instrumental suffix

The vimulacrum is never what hides the truth - it is truth that hides the fact that there is none.

The vimulacrum is true.

— Richard Stallman

Vim philosophy

easy installation

  • for system admins who need to install fresh new systems often

keep vim lightweight

  • not everyone has a Corei7 CPU and 8GB of RAM
  • should be usable over ssh, putty and teraterm

adherence to original Vim's keybindings

  • don't use too many plugins that remap keys
  • don't over-customize to the point where you can't use vanilla Vim anymore

Supported systems

  • Works best with Vim 7.3

GNU/Linux

  • Ubuntu Precise Pangolin 12.04 LTS

Mac OS X

  • Lion (10.7)
  • Snow Leopard (10.6)

Windows

  • TODO

How to install

linux requirements

  • vim: to access the full set features, we recommend vim version 7.3
  • git
  • curl
  • ack
  • ctags

Debian/Ubuntu

  • for servers: sudo apt-get install vim-nox curl git ack-grep exuberant-ctags
  • for desktops: sudo apt-get install vim-gnome curl git ack-grep exuberant-ctags

Fedora/Red Hat/CentOS

  • for servers: yum install vim curl git ack ctags
  • for desktops: yum install vim-gnome curl git ack ctags

in order to use JavaScript syntax checking via the syntastic plugin:

Mac OS X

  • install nodejs using either MacPorts, Homebrew, or Fink
  • install npm, or node package manager manually. the instructions are at the github page for npm.
  • using npm, install jslint globally: sudo npm install -g jslint

one-liner install script

  • curl https://raw.github.com/kelsey/vimulacrum/master/install -l -o - | bash

Notes on shortcut keys

  • C-x means control key + 'x' key
  • <leader> key means space in our case

Main plugins

Ctrlp replaces the Command-T plugin with a 100% viml plugin. It provides an intuitive and fast mechanism to load files from the file system (with regex and fuzzy find), from open buffers, and from recently used files.

QuickStart Launch using <leader>f.

NERDTree is a file explorer plugin that provides "project drawer" functionality to your vim editing. You can learn more about it with :help NERDTree

QuickStart Launch using <Leader>n.

Customizations:

  • Use <Leader>n to toggle NERDTree
  • Use <leader>nt to load NERDTreeFind which opens NERDTree where the current file is located.
  • Hide clutter ('.pyc', '.git', '.hg', '.svn', '.bzr')
  • Treat NERDTree more like a panel than a split.

This plugin is a tool for dealing with pairs of "surroundings." Examples of surroundings include parentheses, quotes, and HTML tags. They are closely related to what Vim refers to as text-objects. Provided are mappings to allow for removing, changing, and adding surroundings.

Details follow on the exact semantics, but first, consider the following examples. An asterisk (*) is used to denote the cursor position.

 Old text                  Command     New text ~
 "Hello *world!"           ds"         Hello world!
 [123+4*56]/2              cs")        (123+456)/2
 "Look ma, I'm *HTML!"     cs"<q>      <q>Look ma, I'm HTML!</q>
 if *x>3 {                 ysW(        if ( x>3 ) {
 my $str = *whee!;         vlllls'     my $str = 'whee!';

For instance, if the cursor was inside "foo bar", you could type cs"' to convert the text to 'foo bar'.

There's a lot more, check it out at :help surround "})}"

Automatically places closing symbols such as brackets and paretheses.

  • To preview, :Mw
  • Note - Mac only
  • this fixes the strange underscore emphasis issue for syntax highlighting
  • this allows vim to autodetect .md files as markdown

Zoom in on a particular viewport

  • To invoke, <leader> z

Extends '%' functionality.

  • To use, :Ack
  • this does syntax checking
  • if you see the red arrors, do :Errors to see the syntax errors
  • the most useful command is: :Gblame
  • move the cursor to the line you want to comment out, then use <leader> cc
  • to toggle the sidebar: <leader> tt

About

The ult-Vim-ate Vim setup! It's so good that you'll have a hard time believing it exists!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published