A Vim distribution with sane, modern defaults, a custom theme, and a collection of tightly integrated and configured development-oriented plugins
Find a file
Kevin e9481f6bc8 Fixed some keybindings, added help dialog sidebar toggles (help dialogs
now always pop up veritcally, which made sense to me considering their
column width and the average size of screens these day), touched up
the readme and some missing keyboard toggles, added a few more formats
relevant to emmet, and gave variables default values in the configs so they
don't need to be declared (default values are stated in the README)
2014-04-05 03:20:53 -04:00
vim Fixed some keybindings, added help dialog sidebar toggles (help dialogs 2014-04-05 03:20:53 -04:00
.gitmodules Fixed some keybindings, added help dialog sidebar toggles (help dialogs 2014-04-05 03:20:53 -04:00
gentags Tons of changes all in one commit because I'd broken a commit a while 2014-04-04 19:49:02 -04:00
README.md Fixed some keybindings, added help dialog sidebar toggles (help dialogs 2014-04-05 03:20:53 -04:00
update On second thought, both c syntax files together make for much better 2014-04-05 00:55:40 -04:00
vimrc The vimrc.user file wasn't getting loaded, and I'd committed the wrong 2014-04-04 23:36:51 -04:00

Darkcloud Vim Distribution: Theme, Config and Plugins

Requirements

  1. Git: Required to clone and update the repository, and pull the plugins as submodules.
  2. CTags: Available @ http://ctags.sourceforge.net, place in $PATH or the vim folder to use the tagbar or extended C omni/auto-completion.
  3. Vim v7.4+: Everything has been written and tested using Vim 7.4.135, and I assume there could be issues with 7.3 and below.
  4. Bash (optional): Required to use the update and ctags generation scripts, both of which can be run with the commands listed within.
  5. Powerline Fonts (optional): Required for an extended look/feel using lightline, otherwise it should be toggled off in the vimrc.

Features

  • A custom theme that includes an original colour scheme and an ever growing collection of explicit syntax colour overrides.
  • A complete default configuration that attempts to provide a useful, easy to use and modern vim experience without becoming bloated.
  • Key bindings and aliases to make useful features more accessible and provide a smoother work flow while attempting to vim's default behaviour while adding behaviour.
  • A selection of plugins chosen either because they improve vim's support for common filetypes, or because they provide value-added features that aren't bloated and manage to make vim more useful as a text editor.

Installation

  1. Clone the darkcloud-vimconfig repo and use the update script to install the plugins:
  • git clone https://github.com/prurigro/darkcloud-vimconfig.git
  • sh darkcloud-vimconfig/update
  • Note: The update script requires bash, but you can enter the darkcloud-vimconfig/ folder and run: git submodule update --init to install the plugins manually if it's not available.
  1. Open vim and run: :version to find the values for "user vimrc file" for a single-user install and "system vimrc file" for a system-wide install, then copy the vimrc file from darkcloud-vimconfig/ to one of these locations.

  2. Open the vimrc you just installed and either edit the variables in the "USER CONFIG SETTINGS" section, or (preferably) copy them to vim/vimrc.user and edit them there:

  • s:darkcloudpath: Set to the location of the darkcloud-vimconfig folder. (default: /etc/darkcloud-vimconfig)
  • g:autostartchecker: 1 = Check syntax once an appropriate file is loaded | 0 = Check syntax only after syntax checking is toggled on (default: 1)
  • g:powerlinefonts: 1 = Render the statusline using characters available with powerline-patched fonts | 0 = Render the statusbar with less attractive but more compatible characters available in all fonts (default: 0)
  • guifont: Set to the name of the font you would like to use with gVim followed by the size, making sure to escape spaces and that a powerline-compatible font is selected if the above option is set to 1. (default: Droid\ Sans\ Mono\ 12)
  1. Install ctags (http://ctags.sourceforge.net) to your system using a package and ensure it can be accessed in $PATH, or install support for vim exclusively by copying the ctags binary to the darkcloud-vimconfig/vim folder.

Configuration

  • Custom Configuration: Settings with priority over those set by darkcloud-vimconfig can be added to a file named vimrc.user, located in darkcloud-vimconfig/vim/ or any of the folders in the runtimepath.
  • Custom Plugins: Pathogen compatible plugins can be cloned or extracted to "darkcloud-vimconfig/vim/bundle.user/", or a folder named "bundle" or "bundle.user" in any of the folders in the runtimepath.
  • Custom Snippets: To add or override Emmet snippets, create ~/.vim/snippets.json and add your own definitions using json like shown in the Emmet Documentation.
  • File Associations: To use the file manager in vim to run files with external programs, create "~/.vim/filetypes.vimcall" and on each line, write an association between a file extension and the program to launch files of that type that looks like: call vimfiler#set_execute_file('mp4','xdg-open').
  • Update Script: (requires: bash+git) Update the project and its submodules using the same "update" script in the root of darkcloud-vimconfig as the one used to download the plugins.
  • Generate System Tags: (requires: bash+ctags) Generate a list of ctags for your system libraries in /usr/include and /usr/local/include as well as any folders passed as arguments by running the gentags script.
  • Fix TMux Keys: (requires: tmux): Add the following settings to tmux to ensure the colour scheme gets loaded and all the keyboard combinations work: set -g default-terminal "screen-256color and set-window-option -g xterm-keys on

Notes

  • Runtimepath: To find the runtimepath locations currently set, run the following in vim: :verbose set runtimepath.
  • Reference: Type ??, ?> and '?<' to toggle sidebars with different reference topics.
  • Unique Key Bindings: You can find a list of the bindings added by darkcloud-vimconfig, as well as a few of the ones added by plugins in vim/config/keyboard.vim.

Credits

License

All projects cloned in the vim/bundle folder are separate and have their own licenses. Everything else is released under the MIT license.