This repository contains my configurations, including key mappings, plugins, and other settings for Neovim. I'm primarily working day-to-day in VueJS, React, Typescript, Golang, Lua, and Clojure.
Important: I'm on the latest Neovim release (0.9) and many of these plugins will break if on an older version.
- Plugins managed with lazy.nvim
- Syntax highlighting with treesitter
- LSPs installed via Mason and configured via lspconfig
- Debuggers installed and configured with nvim-dap
- fterm for terminal integration
- fzf-lua for search
- neogit for git management
- gitlab.nvim for Gitlab integration
- diffview git branch/commit/diff viewing
- lualine for status bar
- lsp-format for formatting
- kanagawa colorscheme
- spectre for project-wide regexes
There are a few dependencies for this editor configuration that cannot be installed within Neovim. I've detailed them below, installation instructions assume an Ubuntu OS, although installation on other operating systems should be straightforward. Most of them are required for LSPs or Debuggers to work.
- Git version 2.36 or greater
sudo add-apt-repository ppa:git-core/ppa -y
sudo apt-get update -y
sudo apt install git -y
npm
andnode
, which are used to install some of the LSPs and Debuggers. I recommend installing node via NVM (node version manager). You may need to resource your.bashrc
/.zshrc
after installing NVM for the command to be available in your path.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
nvm install 20.5.0
- The Treesitter CLI, which is required for syntax highlighting
npm install -g tree-sitter-cli
- Golang (required for Golang Debugger + LSP). On Ubuntu:
sudo add-apt-repository ppa:longsleep/golang-backports -y
sudo apt update -y
sudo apt install golang-go -y
- Zip/Unzip commands (required to unpack Typescript Debugger)
sudo apt install zip -y
- The compiler
gcc
sudo apt update -y
sudo apt install build-essential -y
- ripgrep for fuzzy finding
curl -LO https://github.com/BurntSushi/ripgrep/releases/download/13.0.0/ripgrep_13.0.0_amd64.deb
sudo dpkg -i ripgrep_13.0.0_amd64.deb
- python3 and pynvim for wilder
sudo add-apt-repository ppa:deadsnakes/ppa -y
sudo apt update -y
sudo apt install python3.11 -y
sudo apt install python3-pip -y
pip3 install --upgrade pynvim
- bun for faster language servers (tailwindcss and ts_ls)
curl -fsSL https://bun.sh/install | bash
- gnu-sed (for the spectre plugin)
- Install the required dependencies listed above.
- Clone this repository to your Neovim configuration path:
git clone https://github.com/harrisoncramer/nvim.git ~/.config/nvim
- Open Neovim. The plugin installation should start automatically; so should the LSP and Debugger installations.
- Run
:UpdateRemotePlugins
to update Wilder
Please be patient when you first open up Neovim, it is installing many depndencies the first time it starts! I'd recommend going and getting a cup of coffee, the process can take ~5 minutes to install all of the debuggers, LSPs, and treesitter language parsers.
You can see the status of the plugin installation with the :Lazy
command. This will open automatically. You can see the status of the LSP and Debugger installations with the :Mason
command.