with it's tight integration to the unix shell, vim has quickly become my editor of choice. once you start to master the movements and operators you quickly begin manipulating, not just editing source code files.
when you learn vim it's best to use a more vanilla config. if helps you focus on learning the editor and not the plugins. these are also great for remote machines. but for your local dev environment, vim's vast and powerful plugin system can add many great features. i try to keep my editor slim and fast, but i find myself loving these plugins:
- vundle - to manage other plugins
- you complete me - the best completion system
- php complete - extended php completions
- syntastic - syntax linting
- git gutter - git diff in the gutter
- match it - extended word and regex matching
- lightline - custom status line (for much rice)
- fugitive - fast git integration
modularizing and autoloading all .zsh files helps organize it's features and to keep personal configs out of versioning. it also allows for individual drop in configs on other machines.
to switch custom prompts rename the files (dual-line-prompt, minimal-prompt, ninja-prompt) from
- e.g. to switch from default to silly ninja style:
mv zsh/.zsh/minimal-prompt.zsh zsh/.zsh/minimal-prompt._zsh && mv zsh/.zsh/ninja-prompt._zsh zsh/.zsh/ninja-prompt.zsh