This repository houses my own custom setup for Neovim, tailored to my development workflow and preferences. I wanted a lightweight, portable config that still contained many of the features present in any modern IDE, including:
- Fuzzy finding for easily locating files
- LSP integration
- Autocompletion
- Copilot integration
- Auto formatting and linting
- Git integration
- File tree with add/rename/move/delete operations
Upcoming Features:
- Autotags for HTML
Feel free to use for any text editing, or as inspiration for a config of your own!
- Updates: While I strive to keep this configuration functional and up-to-date with my latest preferences, I cannot guarantee timely updates to match the newest versions of Neovim or the plugins used.
- Compatibility: The setup is tested on my own system and might require adjustments to work seamlessly on different environments. Please review the setup and adjust paths, plugins, and settings as necessary for your system.
- Feedback and Contributions: Suggestions and improvements are welcome! However, as this is a personal project, my response time to issues or pull requests may vary.
Happy coding!
- Neovim (v0.9 or later)
- A truecolor terminal such as iTerm2 or alacritty
- git (v2.19.0 or later)
- A nerd font
- LazyGit is not required but highly encouraged, as it is an incredible interface and my personal favorite way to use git
First, ensure all requirements have been installed.
git clone https://github.com/njbirk/neovim-config.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim
This will place the config in the directory ~/.config/nvim
.
To use, run the command nvim
in any directory to open that directory in Neovim!
- Vim Basics
- A helpful guide from freeCodeCamp
- A series of amazing videos from ThePrimagen (This is how I learned vim)
- A list of all keyboard shortcuts and mappings included in this config
- To add LSP support for programming languages, which enables features like autocompletion, code actions, error checking, and more, follow this guide
- https://github.com/williamboman/mason.nvim
- https://github.com/williamboman/mason-lspconfig.nvim
- https://github.com/neovim/nvim-lspconfig
- https://github.com/nvim-telescope/telescope-ui-select.nvim
- https://github.com/hrsh7th/nvim-cmp
- https://github.com/L3MON4D3/LuaSnip
- https://github.com/saadparwaiz1/cmp_luasnip
- https://github.com/rafamadriz/friendly-snippets
- https://github.com/hrsh7th/cmp-nvim-lsp
- https://github.com/cohama/lexima.vim
- https://github.com/github/copilot.vim