My neovim configurations
The following packages need to be installed
mkdir -p ~/.config/
## Clone the repository to ~/.config/nvim
git clone --depth 1 https://github.com/aswinkarthik93/neovim-dotfiles.git ~/.config/nvim
## Open nvim
nvim
:PlugInstall within the editor.:PlugUpdate within the editor.NeoSolarized which is a Solarized dark theme and will work post plugin installation.:CheckHealth. Neovim will do a health check and report on what is missing and how to fix it.Neovim

Vimr

The above Vimr is customized. It has,
Frequently used keymaps,
| Name | Value |
|---|---|
| <leader> | , |
| , + e | Files fuzzy finder |
| , + b | Buffer fuzzy finder |
| <ctrl> + / | Opens NERDTree |
| vv | Split Window vertically |
| ss | Split Window horizontally |
| <ctrl> + j,k,h,l | Navigation across split panels |
| , + z | Move to Previous buffer |
| , + x | Move to Next buffer |
| <ctrl> + 6 | Toggle between buffers |
Golang specific Keymaps
| Name | Value |
|---|---|
| , + r | Run all tests |
| , + <shift> + r | Run specific test |
| <ctrl> + a | Switch between test and source code |
| <ctrl> + ] | Goto definition |
| <ctrl> + t | Pop stack when going to definition |
Frequently used features,
fzf for fuzzy-finding.:Rgrepj,k,l, and h for navigation. Navigation keys will not work. (Apologies for this):BufOnly to delete all buffers except the active one.:GoyoFor custom configurations like changing theme locally or new keymaps, use ~/.config/nvim/custom.vim. If you feel it is worth merging with this repository, pull requests are welcome too.
neovim is configured with neoformat plugin, to enable formatting for javascript:
npm install -g prettier
For autocompletion deoplete asynchronous completion framework and deoplete-go backed by gocode is used.
To install gocode, execute
go get -u github.com/mdempsky/gocod
For autocompletion racer is used, to correctly configure it follow the instruction on how to install racer from here
Configure your bash/zsh profile with export RUST_SRC_PATH="$(rustc --print sysroot)/lib/rustlib/src/rust/src"
npm install -g flow-bin
To support format shell script
brew install shfmt
To lint yaml files, install
brew install yamllint
For more info on yaml liniting visit here
jq to use :SortJson (sorts all keys of a JSON file).In case on opening neovim/vimr it shows error that python3 is unavailable.
sudo mkdir usr/local/Frameworks
sudo chown $(whoami):admin /usr/local/Frameworks
brew install python3
pip3 install --upgrade neovim
Pull the latest changes from git and then reopen neovim/vimr and run :PlugUpdate
We have a Docker image which you use to try out this neovim config without affecting your existing setup.
docker run --rm -it aswinkarthik93/neovim-dotfiles bash
nvim