Installation
Clone the repo and run the install script:
git clone https://github.com/joemasilotti/vim-config.git ~/.vim
cd ~/.vim
./install
Included plugins
ALE
ALE (Asynchronous Lint Engine) is a plugin providing linting (syntax checking and semantic errors) while you edit your text files, and acts as a Vim Language Server Protocol client.
Mappings:
- Ctrl+j / Ctrl+Shift+j Jump to next/previous error
csv.vim
A Filetype plugin for csv files
fzf
Note: The default commands for fzf are :Files, :GFiles, etc.; we have configured the plugin to add the 'Fzf' prefix to commands to disambiguate with other plugins.
Mappings:
- leaderf Fuzzy search for files. This will ignore any files ignored by git if the current directory is a git repository (
:FzfGFiles) or search all files if not (:FzfFiles). - leaderrb Fuzzy search open buffers.
j-split
Easily split a single line across multiple lines.
Mappings:
- leaderj Split the current line.
nerdcommenter
Vim plugin for intensely nerdy commenting powers.
Mappings:
- leader/ Comment/uncomment the current line or selection.
nerdtree
A tree explorer plugin for vim.
Mappings:
- \\ Open/close the directory tree.
- | (shift+\) Open the directory tree focused on the file in the active buffer.
poet-v
Vim Meets Poetry and Pipenv Virtual Environments
regreplop
This plugin provides a operator to replace something(motion/visual) with a specified register.
Mappings:
- Ctrl+k (followed by a motion) Replace with register
ultisnips
The ultimate snippet solution for Vim.
Type the snippet followed by tab.
List of custom snippets (incomplete):
fAdd a function definition in JavaScriptdescAdd a describe block in RSpec or JasminecontAdd a context block in RSpec or JasminebefAdd a before block in RSpec or JasmineitAdd an example in Jasmine
undotree
The undo history visualizer for VIM
Mappings:
- leaderu Open the undo tree window.
vim-abolish
Easily search for, substitute, and abbreviate multiple variants of a word.
Augments the standard search and replace (:s) with a smarter search and replace (:S). Read the documentation on the repo; it's worth it.
vim-blockle
Brace yourself, it's time to toggle your ruby blocks!
Mappings:
- leaderl Convert between
do/endand{}ruby blocks.
vim-bundler
Lightweight support for Ruby's Bundler.
Add syntax highlighting for bundler, as well as :Bundle and :Bopen commands.
vim-dispatch
Asynchronous build and test dispatcher
vim-endwise
Wisely add "end" in ruby, endfunction/endif/more in vim script, etc.
Automatically inserts 'end' for you in ruby blocks. That's it.
vim-fugitive
A Git wrapper so awesome, it should be illegal.
Many commands for manipulating git inside vim.
vim-gitgutter
A Vim plugin which shows a git diff in the gutter (sign column) and stages/undoes hunks and partial hunks.
This will automatically update the symbol line (gutter) of the current buffer with git status.
vim-haml
Vim runtime files for Haml, Sass, and SCSS.
Updated versions of runtime files that ship with vim.
vim-javascript
Vastly improved JavaScript indentation and syntax support in Vim.
vim-js-arrow-function
Ability to toggle JavaScript functions to-and-from arrow functions and toggle their braces.
Mappings
- leaderl Toggle braces on an arrow function
vim-json
A better JSON for Vim: distinct highlighting of keywords vs values, JSON-specific (non-JS) warnings, quote concealing.
vim-jsx-pretty
JSX and TSX syntax pretty highlighting for vim.
vim-rails
Ruby on Rails power tools
Lots and lots of Rails-specific features. It's worth reading the documentation for this one.
vim-rake
It's like rails.vim without the rails.
Useful for non-Rails projects (e.g. gems).
vim-rbenv
Minimal rbenv support
vim-repeat
Enable repeating supported plugin maps with ".".
Allow using the . command to repeat commands from the surround, and unimpaired plugins.
vim-ripgrep
Use RipGrep in Vim and display results in a quickfix list.
Use :Rg to search for files. Similar to :Ack and :Ag.
vim-ruby
Vim/Ruby Configuration Files
Syntax highlighting and indentation for ruby.
vim-side-search
Search context in Vim in a sidebar using ag output.
Use :SideSearch or :SS to search for files. Customized to work with ripgrep.
vim-surround
Quoting/parenthesizing made simple.
Adds a surround action for most motions. Possibly the greatest text-editing plugin of all time.
vim-test
A Vim wrapper for running tests on different granularities.
Mappings
- Ctrl+tn (
:TestNearest) Runs the test nearest to the cursor - Ctrl+tf (
:TestFile) Runs all tests in the current file - Ctrl+ts (
:TestSuite) Runs the whole test suite. - Ctrl+tl (
:TestLast) Runs the last test. - Ctrl+tg (
:TestVisit) Visits the test file from which you last run your tests
vim-textobj-rubyblock
A custom text object for selecting ruby blocks.
Allows selecting ruby blocks using i and a motions. For example, vir will visually select everything inside the ruby block containing the cursor.
vim-textobj-user
Create your own text objects.
Dependency of vim-textobj-rubyblock.
vim-unimpaired
Pairs of handy bracket mappings.
Several convenient key mappings. For example, [space and ]space for inserting newlines, and [e and ]e for swapping lines.
vitality.vim
(Vit)ality is a plugin that makes (V)im play nicely with (i)Term 2 and (t)mux.
Now Vim can save when iTerm 2 loses focus, even if it's inside tmux!
It also handles switching the cursor to a bar shaped one when in insert mode, and restoring it when not.
Color schemes
- molokai
- solarized
- tomorrow