Skip to content
πŸ’€ A Hackable, Fully Featured, Rice Friendly Neovim Configuration
Vim script Shell
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
nvim changed deprecated Gblame setting Oct 29, 2019
README.md Update README.md Oct 19, 2019
ascii.png logo Oct 8, 2019
update_config.sh added update script Oct 8, 2019

README.md

πŸ’€ A Hackable, Fully Featured, Rice Friendly Neovim Configuration πŸ’€

Features β€’ Installation β€’ Usage β€’ Required Tools

Features

Installation

The update_config.sh script simply copies the nvim folder into your $HOME/.config directory. This script can also be used to update configurations that you have modified or have been updated from git.

Before installing for the first time, go into the vim.reaper/nvim directory and run nvim -u init.vim. This will tell neovim to launch using this configuration file. This lets you fully get everything up and running before you commit to puting it in .config. Back up any old configs!

Usage

Keybindings

Click to expand

Basic keybinds πŸ”‘

Function Keybind
Leader Key SPACE
Exit insert mode jk or kj

Editing 🧬

Function Keybind
NERDComment toggle comment <Leader>n
NERDComment sexy comment <Leader>ns
NERDComment append comment <Leader>na
NERDComment uncomment <Leader>nu
NERDComment comment <Leader>nc
NERDComment invert <Leader>ni

Navigation πŸš€

Function Keybind
Navigate to left window Ctrl+h
Navigate to right window Ctrl+l
Navigate to top window Ctrl+k
Navigate to bottom window Ctrl+j
Horizontal split then move to bottom window <Leader>+Ctrl+s
Horizontal split then move to right window <Leader>+Ctrl+l
Next tab Tab
Previous tab Shift+Tab
Kill buffer <Leader>bk
Scroll up Ctrl+j or mouse scroll
Scroll down Ctrl+k or mouse scroll
Fuzzy Find tags <Leader>ft
Fuzzy Find files <Leader>ff

coc.nvim πŸ’­

Function Keybind
Open completion window Tab
Accept completion Enter
coc-definition <Leader>cd
coc-type-definition <Leader>ctd
coc-type-implementation <Leader>ci
coc-references <Leader>cr
coc-rename <Leader>crn
coc-format-selected <Leader>cf
coc-fix-current <Leader>cfl
:CocList diagnostics <Leader>cdi
:CocList extensions <Leader>ce
:CocList commands <Leader>cc
:CocList outline <Leader>co

git πŸ”€

Function Keybind
:Gstatus <Leader>gs
:Gdiffsplit <Leader>gd
:Gcommit <Leader>gc
:Gpush <Leader>gp
:Gpull <Leader>gP
:Gmove <Leader>gm
:Gmerge <Leader>gM
:Gbrowse <Leader>gb
:CocCommand git.browserOpen <Leader>gbl
:CocCommand git.chunkInfo <Leader>gh
:CocCommand git.showCommit <Leader>gsc
:CocCommand git.toggleGutters <Leader>gg

Check mappings.vim for a complete list of keybinds.

Startify

To open Neovim to the startify buffer, simply launch nvim without any arguments. Your recently edited files will be displayed, as well as recently edited files from the current directory.

Completion

In the middle of a word, you can press Tab to open the Coc floating completion menu and cycle through options. This menu should be populated with sippets from UltiSnips, smart complete from TabNine, and any other completion suggestions. Press Shift+Tab to go up in the menu, and Enter to select an option.

Note: Windows are set to the background color because the other colors look gross IMO. Ideally we could have a border on the floating windows but that is not implemented in CoC yet.

NERDTree

In any buffer, press F7 to open the NERDTree file browser. Optionally disable the nerdtree-highlights plugin if you don't want syntax highlighting in NT.

Airline

Tabline

The tabline will display the currently open buffers, and wheather they have been modified.

Statusbar

The status bar displays the current editing mode, git hunks, git branch with branch status, the modified status of the buffer, the filename and filetype, the character encoding method, progress through file, and warnings/errors found by linter.

Vista

I am still ironing out the kinks in my vista config (specifically with C files), but it should work pretty well for most filetypes. Press F8 to toggle the Vista window.

For quick location of tags, you can activate the Vista finder fuzzyfinder by pressing <Leader>ft

To navigate the fzf menu, you can type the name of the tag or use Ctrl+j or Ctrl+k

Required tools

These must be installed to make use of all the awesome features

  • fzf to enable fuzzy finding
  • eslint npm package for coc-eslint (only for JavaScript)
  • ccls package for C/C++ languace servers
  • OracleJDK or OpenJDK, version 8+ (only for Java)
  • git
  • coc.nvim npm package
  • pywal for colorscheme
  • neovim python module from pip

Notes

vim.reaper is only part of a balanced linux diet. Check out my dotfiles for more ricing goodness. Please feel free to let me know about any errors, or create PRs that expand the configuration or make it more robust on different systems.

You can’t perform that action at this time.