I’ll start with what plugins I’m using because some of my configurations will include them. First off, you’ll need pathogen (if you’d rather use a different vim plugin manager go ahead, but this is what I use). Just follow the instructions in the readme and you’ll be up and running. After that, install all your plugins in
~/.vim/bundle/ and they’ll *just work*.
Here are all the plugins I currently use (feel free to use all, none, or more yourself). Some of these I use more than others but I’ll put them all here just for completeness.
- delimitMate – autocomplete quotes, brackets, etc.
- LustyJuggler – alternate way to switch between open buffers
- nerdtree – file browser
- numbers – useful for showing relative line numbers
- rainbow – color code matching braces
- sexy scroller – animate scrolling through a buffer
- supertab – tab completion
- syntastic – syntax checker
- tlib – utils for working with tmux
- tslime – util for sending things to a tmux session
- vim-addon-mw-utils – small util lib
- vim-colorschemes – a massive repo of color schemes
- vim-easymotion – visual way to quickly jump around a buffer
- vim-fugitive – for working with git
- vim-repeat – allows for “.” to repeat non-native functions
- vim-signature – display marks on a gutter
- vim-slime – for working with tmux
- vim-snipmate – code snippet plugin
- vim-snippets – various default snippets
- vim-surround – deal with things that surround things (look at the readme)
- vim-tmuxify – unify keybindings with tmux
- vim-togglemouse – toggle the mouse between VIM and the terminal
- xptemplate – an other snippet plugin
There are a handful of things in there that are not specific to live coding or SuperCollider at all, but I thought I’d show everything that I have installed. For instance, you don’t need any of the tmux stuff unless you work with tmux (if you don’t know what tmux is, just ignore all of them).
Now for the meat: the actual vim configurations.
” toggle paste mode with F8
” enable pathogen
filetype plugin indent on
let g:SuperTabDefaultCompletionType = “context”
” local scvim configuration file
” switch to a lower split with C-J
” switch to an upper split with C-K
” switch to a right split with C-L
” switch to a left split with C-H
” default new vertical splits to be below the active split
” default new horizontal splits to be right of the active split
” C-n toggles nerdtree
” Better command-line completion
” 265 color support
” auto reload the .vimrc file when it’s saved
au! bufwritepost .vimrc source %
autocmd BufWinLeave *.* mkview
autocmd BufWinEnter *.* silent loadview
highlight Folded ctermbg=black ctermfg=green
” syntastic options
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
” Reduce timeout after
is recvd. This is only a good idea on fast links.
let g:xptemplate_minimal_prefix = 0
let g:rainbow_active = 1
There are some comments in there, and other things should be pretty self explanatory. There are many great articles about good .vimrc settings hanging around on the internet so I could suggest googling around a bit about anything you don’t understand. They would probably explain things better than I would, and that’s how I found most of it myself (I’m not a VIM expert by any means yet).
Finding a color scheme I liked, finding and getting used to all the plugins, and further tweaking VIM, has been a long process. I’ve been working all this out for about a year now and it’s still constantly evolving. All of this is of course a matter of taste and should not be taken as “the way” to configure your VIM for live coding.