Just my personal vim config. I use it.
Disclaimer: My config has been slowly put together over many years by me. It is based on what I use, and my needs. Your needs very well may be different.
A powerline font. I use Ubuntu Mono. Everything else (like ZSH) should be optional. Open an issue if it is not.
Simply run:
./install.sh
It doesn't do anything evil, I promise. If you'd like to verify that, I encourage you to read it - it's a mere 30 SLOC.
My descriptions below are very basic. Please read the projects' pages if you would like to know more about them
| Plugin | Description |
|---|---|
| Vundle | Plugin manager. It manages your plugins |
| NerdTree | A totally awesome tree viewing utility inside of Vim. Can be triggered with CTRL-n |
| Syntastic | Syntax checking. Pretty useful, I suppose |
| Tmuxline | Make your Tmux freakin' beautiful |
| Vim Airline | Make your Vim freakin' beautiful |
| Coffeescript | Syntax highlighting for Coffescript |
| Bundler | You can bundle from Vim with :Bundle. I used to use it, now Guard does it for me |
| Git | Supports Fugitive for Vim versions < 7.2 |
| Surround | Helps insert, modify, remove surroundings (parenthesis, quotes, etc). I don't fully understand it, but it's cool |
| Endwise | Auto-inserts "end" for Ruby code |
| Fugitive | The greatest Git wrapper ever written |
| Markdown | Better Markdown support for Vim |
| Rails | An epically beautiful Rails plugin for Vim. It's great |
| Commentary | Quickly and easily comment out and in lines |
| Slim | Slim support for Vim |
| Auto Pairs | Auto-insert closing parenthesis, brackets, etc |
| CTRL-P | Fast file searching |
| Rainbow | Make different sets of parenthesis different colors ( for better understandability, obviously) |
| Elixir | For Elixir support, naturally |
| Jade | Jade syntax highlighting |
| Fish | Fish syntax highlighting and other niceties |
| Spacebars | Spacebars support |
| HTML5 | Better HTML5 syntax highlighting |
| RSpec | Better RSpec syntax highlighting |
| Nim | Better Nim support |
| Dispatch | Run async compiler plugins |
| Pencil | Nice colors |
These are some mappings that are included and I find rather convenient
| Mapping | Description |
|---|---|
CTRLn |
Open NERDTree |
CTRLs |
Save (:w) |
CTRLc |
Quit (:q) |
| Mapping | Description |
|---|---|
| ,a | Copy entire contents of current buffer into system clipboard |
| ,b | Run bundle using vim-bundler |
| ,c | Correct contents of an HTML tag |
| ,d | Deletes all trailing whitespace in the current buffer (highlighted in red) |
| ,ft | TestNearest |
| ,fT | TestFile |
| ,fa | TestSuite |
| ,fl | TestLast |
| ,fg | TestVisit |
| ,gs | Use Fugitive to open the git status |
| ,gm | Use Fugitive to git checkout -b |
| ,go | Use Fugitive to git pull |
| ,gp | Use Fugitive to git push |
| ,gb | Use Fugitive to git blame |
| ,gd | Use Fugitive to git diff |
| ,gu | Push and set upstream (git push -u origin <current-branch>) |
| ,gf | Force push current branch (git push -f origin <current-branch>) |
| ,rc | Use vim-rails to run rails console |
| ,s | Clear search highlighting (:noh) |
| ,t | Open a terminal (works best in Neovim) |
| ,w | Swap parameters. For example, "foo(foo, bar)" becomes "foo(bar, foo)". |
For all of the Test* commands, you can find what these nonsense words mean on the Vim-test README.
Why did you choose f for the prefix for the test commands?
It's on the home row, and t was already mapped
| Mapping | Description |
|---|---|
| jk | Leave Insert mode (ESC) |
| ,h | Create an HTML tag with what is currently under the cursor |
| Mapping | Description |
|---|---|
| ,y | Copy selection to system clipboard |
| Mapping | Description |
|---|---|
| jk | Exit insert mode in terminal |
CTRLw |
Exit insert mode and trigger CTRLw |
This is MIT Licensed. You can find the whole license in the LICENSE file.