ultinvim icon indicating copy to clipboard operation
ultinvim copied to clipboard

An attempt at The Ultimate Nvim Configuration™ with focus on Rails development. Insipred by astrails/dotvim

trafficstars

ultinvim

An attempt at The Ultimate Nvim Configuration™ with focus on Rails development.
Insipred by Astrail's dotvim.

Installation

This configuration was built and tested on OS X El Capitan, iTerm2 Build 2.9+, nvim v0.1.2. Let's assume you are about to install neovim from scratch.

  1. Install neovim using brew install neovim/neovim/neovim
  2. Install python3 using brew install python3 (needed to run deoplete)
  3. Install neovim's python support using pip3 install neovim
  4. Clone repository: git clone https://github.com/juanpedrojose/ultinvim.git ~/.config/nvim
  5. run mkdir -p ~/.config/nvim/backup
  6. run nvim +PlugInstall +q to install plugins and then nvim to run nvim with installed plugins
  7. Enjoy your new nvim :bowtie:

To install powerline fonts fonts please read this.

Plugins list

  • NerdTree - A tree explorer plugin for vim
  • nerdtree-git-plugin - A plugin of NERDTree showing git status
  • vim-nerdtree-tabs - NERDTree and tabs together in Vim, painlessly
  • ctrlp.vim - Active fork of kien/ctrlp.vim—Fuzzy file, buffer, mru, tag, etc finder
  • scrooloose/nerdcommenter - Vim plugin for intensely orgasmic commenting
  • vim-airline - lean & mean status/tabline for vim that's light as air
  • tagbar - Vim plugin that displays tags in a window, ordered by scope
  • syntastic - Syntax checking hacks for vim
  • vim-gitgutter - A Vim plugin which shows a git diff in the gutter (sign column) and stages/reverts hunks
  • vim-autoread - Have Vim automatically reload a file that has changed externally
  • vim-ruby - Vim/Ruby Configuration Files
  • vim-fugitive - fugitive.vim: a Git wrapper so awesome, it should be illegal
  • YankRing.vim - Maintains a history of previous yanks, changes and deletes
  • deoplete.nvim - Dark powered asynchronous completion framework for neovim
  • ultisnips - UltiSnips - The ultimate snippet solution for Vim. Send pull requests to SirVer/ultisnips!
  • vim-snippets - vim-snipmate default snippets (Previously snipmate-snippets)
  • vim-rails - rails.vim: Ruby on Rails power tools
  • greplace.vim - Global search and replace for VI
  • vim-indent-guides - A Vim plugin for visually displaying indent levels in code
  • vim-endwise - endwise.vim: wisely add "end" in ruby, endfunction/endif/more in vim script, etc
  • vim-surround - surround.vim: quoting/parenthesizing made simple
  • vim-blockle - Brace yourself, it's time to toggle your ruby blocks!
  • delimitMate - Vim plugin, provides insert mode auto-completion for quotes, parens, brackets, etc.
  • eunuch.vim - Vim sugar for the UNIX shell commands that need it the most

Plugins are managed with vim-plug - Minimalist Vim Plugin Manager.

Custom keybindings

Global
  • leader key: ,
  • local leader: \\
Custom
  • disable search highlight: Ctrl-n
  • goto next search location: ,n
  • fast finding files: ,e
  • indent selection: < and >
  • increment/decrement: Ctrl-a and Ctrl-x
  • split navigation: Ctrl-h, Ctrl-j, Ctrl-k, Ctrl-l
  • show Nerdtree: Ctrl-P
  • show current file in tree: ,p
  • show yankring: ,y
  • silent git grep: ,g
  • git diff: ,y
  • ctrlp (fuzzy search): ,,
  • toggle tagbar: F8
  • rename a buffer and the file on disk simultaneously: Ctrl-m

All other key bindings are defaults to plugins, like ,cc to comment line and ,cu to uncomment line. More information available on plugins pages.

TODO

  1. Add installation script
  2. ~~Add powerline fonts installation instructions~~

Optional

To use truecolor colorscheme please refer to this table and be sure to use terminal with 24-bit color support.
Important note ! iTerm2 support 24-bit color output in latest beta releases (2.9+).
To enable just uncomment the line:50 let $NVIM_TUI_ENABLE_TRUE_COLOR=1 in your ~/.config/nvim/init.vim file.

Screenshots

ruby-ultinvim vim-ultinvim