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
- telescope for search
- diffview git branch/commit/diff viewing
- fugitive for git commits and pushes
- 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
node, 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
.zshrcafter 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 16.0.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
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 tsserver)
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.
:UpdateRemotePluginsto 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