Awesome Open Source
Awesome Open Source

Neovim configs

My neovim configurations

Editors installation


The following packages need to be installed


  1. Clone the repository.
mkdir -p ~/.config/

## Clone the repository to ~/.config/nvim
git clone --depth 1 ~/.config/nvim

## Open nvim
  1. Nvim will automatically install Plugins. It will take some time to finish.
  • For Installing new plugins, run :PlugInstall within the editor.
  • For Updating the plugins, run :PlugUpdate within the editor.
  • The default theme is NeoSolarized which is a Solarized dark theme and will work post plugin installation.
  1. Post installation if there are issues, use :CheckHealth. Neovim will do a health check and report on what is missing and how to fix it.

The Looks!





The above Vimr is customized. It has,

  • Hybrid colorscheme
  • Fira code font with Font ligatures enabled


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,

  • Uses fzf for fuzzy-finding.
  • Search with Ripgrep using :Rgrep
  • Use only j,k,l, and h for navigation. Navigation keys will not work. (Apologies for this)
  • Use :BufOnly to delete all buffers except the active one.
  • Distraction free mode using :Goyo

Custom configurations

For 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.


Auto Formatting

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



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"


  1. To enable flow run:
npm install -g flow-bin

Shell/Bash Script

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 support

  1. Install jq to use :SortJson (sorts all keys of a JSON file).

Python Installation and Linking

In case on opening neovim/vimr it shows error that python3 is unavailable.

  1. Check if python3 is installed if not brew/pip install it. a. In case of brew link error :
    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

Try it out with Docker

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
Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Vim Script (11,545
Neovim (4,294
Autocompletion (1,196
Neovim Dotfiles (170
Deoplete (165
Neovim Configuration (135