Vim.ana aims to make a 2-command install of a full vim IDE with CLI conveniences. Think of Vim being able to do everything that can be done with IntelliJ, or similar.
The focus of this repo is to be portable, environment-neutral, and safe for existing configs. Vim.ana is a Vim & related environment that can be dropped into any unix-flavor box, and without disruption to existing production configs.
- NeoBundle for loading.
- Familiar windowing setup of File Browser + Open Files + Edit Window.
- IDE features that align with RubyMine, Eclipse, and others.
- Comprehensive file and symbol search system.
- Version control integration.
- NeoVim optimized.
See the opening sections of the .vimrc for a structured and commented guide to what's in the box.
- Loaders
- IDE
- Text & Completions
- Frameworks
- File System
- Layout
- Windowing
- Version control
- Formatting
- Syntax Colors
The .vimrc
is organized into logical sections, with jump-points to each area of configs and plugins.
- To see a list of all mappings in the .vimrc group - type:
<leader>L
(which should be\L
) - To see a list of all the mappings from plugings, vimrc, etc. - type:
:map
dbext, the DB browser, has a great tutorial, here
- NeoVim is recommended.
- Vim 7.3 is probably a requirement.
- Some version greater than 7.0.23 is absolutely required for buffergator, unite, and possibly others.
ctags
ag
/the_silver_searcher
will help much
Download and unpack to ~/.vim.ana
(the installer will look for it here. You can move it later)
cd ~; git clone https://github.com/NewAlexandria/vim.ana.git .vim.ana
then link files and do some other business
.vim.ana/install.sh
The installer responsibily makes backups of your original .vim files to ~/.vim.ana/backups/ You can safely uninstall the files if need be (unlike if I'd cp -R
the lot into your existing .vim
)
NeoBundles are not automatically pulled down.
After you install, review the .vimrc
and type <leader>L
, which should be \L
, to dive in.
You'll want to remember to install the ctags library. Installation strategies differ per-platform, and I wanted the install.sh
to be robust. If you're on OS X, you can brew install ctags
- The out-of-the-box ctags installation does not seem to handle anon functions in
.js
files, and barfs to stdout. See my.dotfiles
solution to this - Ensure ctags reach into the gems installed in your rails app: use Tim Pope's excellent gem-ctags
- Also consider ctag-indexing those Ruby stlibs, too.
- Be aware that, with
rspec
, your describe blocks may not be correctly indexed, even with fishman's ctag build for Ruby methods
The pre-insintalled Vim
does not come compiled with lua
. See Chris' awesome instructions for compiling Vim, NeoVim and MacVim with homebrew.
That's it for now.
If you want to add your own plugins, note that this repo uses NeoBundle. Instructions for adding more plugins, to the .vimrc list.
If you don't like Solarized, remember that you can roll your own.
The following directions are under review:
- add Solarized sources and auto-setup for mac terminal, iTerm, Hyperterm, gvim, etc
- configure for Tmux
- a REST client
- Vimspector for Debug Adapter Protocol support
- adding a Unite scope for
dbext
databases (or SQLcomplete) - VCSCommand
- Whee based on denite.
- a proper tag parses for ruby and rspec namespaces, since 'ctags' fails at this, perhaps starscope, tagfinder, or rdoc-tags
- A clear winner for ctag support, whether tpope's, vim-tags, or another.
Thanks for experimenting with this repo. Suggestions always welcome. I'm particularly interested in
- A new way to onbaord people into using the features of this configuration. (Recent
LeaderMap()
function was the start) - How this can more-safely integrate with your existing environment practices (this may be Vimswitch)
- How to lower the version dependecy with Vim
- How to integrate with windowing apps on all platforms
- How to get the lauch time near-instant (takes as much as 1.5 sec on slow slices)