/neovim-config

A NeoVim 0.5+ Config that gets you up and running quickly

Primary LanguageVim Script

Neovim Config

This is my Neovim (0.5+) configuration for everyday use.

Installation

MacOS

Setup Script Requirements

  • MacOS
  • Homebrew
  • Node v14+ (tested) and NPM
  • Golang v1.15+ (tested)
./setup.sh

Linux

This isn't tested, although I believe it should work.

Copy the config:

mkdir -p $HOME/.config/nvim/vim-plug
cp init.vim $HOME/.config/nvim/init.vim
cp vim-plug/plugins.vim $HOME/.config/nvim/vim-plug/plugins.vim

You will need to manually install the language servers for the list below.

What's in the configuration

VIM Plugin Manager

Uses vim-plug for installing plugins for nvim.

Language Server Support

It uses the built-in language server client with the nvim-lspconfig plugin.

The configuration and setup script will get you ready for the following languages:

  • Golang
  • Bash
  • TypeScript
  • HTML
  • CSS
  • Python
  • Dockerfile
  • Terraform
  • Rust
  • VIM Script
  • GraphQL

You can check if your language server is running properly with :LspInfo when in an open file.

Auto Completion

Utilizes nvim-compe for auto completion.

File finding

Uses https://github.com/nvim-telescope/ for finding strings and files and uses ripgrep by default for searching.

Misc

Keybindings

These are the custom keybindings. There are quite a few default keybindings in-use like for actions on files in Telescope.

Description Keybinding
Leader Key ,
Go to declaration gD
Go to implementation gi
Add workspace folder SPACE + wa
Remove workspace folder SPACE + wr
List workspace folders SPACE + wl
Find definition & references gh
Code Action on Diagnosis , + ca
Render Hover Documentation K
Signature Help gs
Rename gr
Preview Definition gd
Show line diagnostics , + cd
Show cursor diagnostics , + cc
Jump to previous diagnostic [e
Jump to next diagnostic ]e
Focus to NERDTree , + n
Toggle NERDTree CTRL + n
Find in NERDTree CTRL + f
Find files , + ff
Ripgrep files , + fg