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, Go, Lua, and Clojure.
- 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
- 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
- Go (required for Go 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
- 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.
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.