Show HN: A workshop on how to use Vim plugins
github.com
github.com
https://bitbucket.org/ZyX_I/vim/branch/default?head=bcdcd815...
I didn't try it yet, but it should be possible to make something like Gotham theme to work in it: https://github.com/whatyouhide/vim-gotham
My 2 cents - read full plugin manual just after you install it.
Syntastic is useful because it can give (visual) feedback on exactly which lines have warnings/errors a lot faster than recompiling the project. Also I find it easier to use than :make and :cope.
You can setup CtrlP to take its file list directly from git ls-files: very convenient for working with largish projects where files are in subdirs. And if you press Ctrl-t it opens the file in a new tab instead of replacing the currently open one (YMMV).
Depending on the language(s) you use there are other plugins that might be useful, and you can keep using the terminal as a separate app, and for specific operations (like git commit/grep and such). In fact for a long time I was launching Vim from a terminal (with tabs), but I found out that I had dozens of Vim processes running in the background by the end of the day. So I switched to using GVim + separate terminal app now.
Integrating tools to Vim is its Achilles heel. In particular, there's no reasonable debugger integration. And interaction with long running processes is difficult.
I use vim, cgdb and tig (for git) inside tmux. With cscope and ctags for code navigation, this gives me all the "IDE" features I need without any clumsy plugins.
It is however easy to get overboard and install a great many plugins you don't really need.
https://github.com/techlivezheng/vim-plugin-minibufexpl
to see each buffer in a tab, plus minimum configuration to move between tabs with CTRL-PAGEUP/DOWN. Feels like switching tabs in a browser and it's easier to see which files you have open
" Switch buffers
" note that I must first define what is <C-PageUp> for rxvt
" http://cygwin.com/ml/cygwin-xfree/2006-07/msg00011.html
nmap <ESC>[5^ <C-PageUp>
nmap <ESC>[6^ <C-PageDown>
nnoremap <silent> <C-PageDown> :bnext<CR>
nnoremap <silent> <C-PageUp> :bprevious<CR>https://github.com/mihaifm/bufstop
I've also created Vimpanel (since we're talking about Vim as an IDE)
Though a large part of the reason is because I'm constantly switching between different servers so it's one less config I need to synchronise (and being reliant on plugins that aren't present on half the systems you manage quickly becomes less productive than never using those plugins to begin with).
I used to use a really tricked out vim with crazy stuff like neocomplete and unite.vim. Then for a while I used plain old vi on FreeBSD (aka nvi). After switching back to arch linux I decided to use bare vim since nvi still has some annoying bugs.
So much of the stuff people write plugins to do can be done more easily and simply with macros and/or the ! or = commands.