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.:Rgrep
j
,k
,l
, and h
for navigation. Navigation keys will not work. (Apologies for this):BufOnly
to delete all buffers except the active one.:Goyo
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.
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