mirror of
https://github.com/prurigro/darkcloud-vimconfig.git
synced 2024-12-22 00:30:23 -05:00
A Vim distribution with sane, modern defaults, a custom theme, and a collection of tightly integrated and configured development-oriented plugins
a7e95b25ac
vimrc.user when it's created. a new user-based config file can be used to specify the location of the project folder without altering vimrc, if it's a symlink and bound to bump into conflicts as changes are made. The README was updated to reflect a few of the recent changes. The tagbar now outputs to the lightline statusline if there's anything to report. A new variable was added to choose whether to always start with the tagbar enabled if the format is compatible, or use the older behaviour, where it would only appear when triggered. The default is to enable it 24/7. |
||
---|---|---|
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: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
- 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 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.