mirror of
https://github.com/prurigro/darkcloud-vimconfig.git
synced 2024-12-22 08:40:24 -05:00
A Vim distribution with sane, modern defaults, a custom theme, and a collection of tightly integrated and configured development-oriented plugins
vim | ||
.gitmodules | ||
gentags | ||
README.md | ||
update | ||
vimrc |
Darkcloud Vim Distribution: Theme, Config and Plugins
Requirements
- 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.
- Git (optional): Required to clone and update the repository, and pull the plugins as submodules.
- CTags (optional): Available @ http://ctags.sourceforge.net, place in $PATH or the vim folder to use the tagbar or extended C omni/auto-completion.
- Grep and Find (optional): Have grep, fgrep, egrep and agrep (windows binaries), and find and xargs (windows binaries) in $PATH or the vim folder to use the Grep plugin commands.
- Powerline Fonts (optional): Required for a better looking lightline statusbar and should be disabled if they're not available (powerline-patched fonts).
- Bash (optional): Required to use the update and ctags generation scripts, both of which can be run with the commands listed within.
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
- 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 if it's not available you can enter the darkcloud-vimconfig/ folder and run:
git submodule update --init
to install the plugins manually, then create vim/vimrc.user and remember to run::Helptags
once everything else is running.
- If you don't know where vim expects to find your vimrc, start vim and run:
:version
to find the values "user vimrc file" (for a single-user install) and "system vimrc file" (for a system-wide install). T - Copy or symlink the vimrc file from
darkcloud-vimconfig/vimrc
to one of the locations vim expects to find it, based on whether you want a local or system-wide install, then choose one of the following:
- Edit the g:darkcloudpath variable in the vimrc file iteself, pointing it to the location you're keeping the darkcloud-vimconfig repo folder.
- Create a file @ ~/.vim/darkcloud-path.vim and in it put the following:
let g:darkcloudpath="/etc/darkcloud-vimconfig"
, but replacing "/etc/darkcloud-vimconfig" with the path to the darkcloud-vimconfig repo folder. - Place darkcloud-vimconfig in the default location @ /etc/darkcloud-vimconfig.
- Create your own vimrc and have that set the g:darkcloudpath variable before sourcing the included vimrc.
- Come up with some other solution that fits your setup better than these. :)
- 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:
- g:darkcloudpath: Set to the location of the darkcloud-vimconfig folder. (default: /etc/darkcloud-vimconfig)
- g:autostartfiler: 1 = Start the filer file manager when vim is run and the buffer is empty | 0 = Do nothing when vim is run and the buffer is empty (default: 1)
- g:autostartchecker: 1 = Check syntax once an appropriate file is loaded | 0 = Check syntax only after syntax checking is toggled on (default: 1)
- g:autostarttagbar: 1 = Have the tagbar load automatically when a compatible format is run | 0 = The tagbar will stay hidden until triggered on demand with its toggle (default: 0)
- 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)
- 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.vim" 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) Use this to update the project and submodules, as well as handle any required maintenance, generate docs from the pathogen plugins and create missing config scripts with preset values.
- 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.
Notes
- Runtimepath: To find the runtimepath locations currently set, run the following in vim:
:verbose set runtimepath
. - 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.
- Vim Quick Reference: Type ??, ?> and ?< to toggle sidebars with three styles of quick reference material on different reference topics.
Credits
- Written by prurigro: GitHub Projects | Arch Linux AUR Packages
- Many other authors have their work contained in this repo, most of which are self contained in the vim/bundle directory. I also used the Vim jellybean theme as a basis for the Darkcloud theme, which is maintained by NanoTech http://nanotech.nanotechcorp.net/
License
All projects cloned in the vim/bundle folder are separate and have their own licenses. Everything else is released under the MIT license.