This repository contains my customized Neovim configuration, inspired by the "Neovim for Newbs" series by Typecraft Dev. While it draws from the series, I have made several modifications and enhancements to suit my needs.
- LSP Servers: Support for Lua, Python, C#, Golang, TypeScript, JavaScript, Bash, CSS, HTML, XML, and GraphQL.
- Plugin Manager: Utilizing Lazy and Mason for efficient plugin management and LSP installation.
- UI Enhancements:
bufferline
for enhanced buffer visibility.lualine
for a customised status line.neo-tree
for advanced file tree navigation.
- Commenting:
nvim-comment
for easy commenting. - Fuzzy Finder:
telescope
for powerful file searching and picking. - Syntax Highlighting:
treesitter
for superior syntax highlighting and code comprehension. - Code suggestion and auto completion
- And much more...
Ensure the following packages are installed on your system before proceeding:
- Python: Installation Instructions
- pip: Python package installer, included with Python installation.
- unzip: Utility for unzipping files, available through your package manager.
- Node.js: Installation Instructions
- npm: Node.js package manager, included with Node.js installation.
- ripgrep: Installation Instructions
- grep: Command-line utility, typically pre-installed on most systems.
- Go (Optional): Installation Instructions
- .NET SDK (Optional): Installation Instructions
- xclip - Some distros will need to have this installed for copying to clipboard.
Ensure each of these dependencies is properly installed and accessible from your command line.
Ensure NeoVim is the latest version.
nvim --version
Ubuntu often ships older versions.
sudo add-apt-repository ppa:neovim-ppa/unstable
sudo apt update
sudo apt install neovim
Mac:
brew update
brew upgrade neovim
sudo npm install -g prettier
sudo npm install -g write-good
sudo npm install -g eslint_d
npm install -g tree-sitter-cli
go install github.com/mgechev/revive@latest
export PATH="$HOME/go/bin:$PATH"
sudo apt install pylint isort codespell
sudo npm install -g prettier
sudo npm install -g write-good
sudo npm install -g eslint_d
npm install -g tree-sitter-cli
go install github.com/mgechev/revive@latest
export PATH="$HOME/go/bin:$PATH"
brew install codespell
brew install stylua
brew install pylint
brew install isort
brew install black
brew install luarocks
brew install wget
brew install fd
Clone the repository:
git clone https://github.com/febinjoy/febins-neovim-config.git ~/.config/nvim
Explore the various features and plugins to enhance your coding experience. Feel free to further customize the configuration to meet your workflow requirements using Lazy and Mason.
Details about the custom keymaps could be found here
A huge thank you to Typecraft Dev for the fantastic "Neovim for Newbs" series. Much appreciation to the maintainers of the respective plugins and themes.
- https://github.com/goolord/alpha-nvim
- https://github.com/akinsho/bufferline.nvim
- https://github.com/catppuccin/nvim
- https://github.com/hrsh7th/cmp-nvim-lsp
- https://github.com/L3MON4D3/LuaSnip
- https://github.com/Exafunction/codeium.vim
- https://github.com/rafamadriz/friendly-snippets
- https://github.com/lewis6991/gitsigns.nvim
- https://github.com/rebelot/kanagawa.nvim
- https://github.com/folke/lazy.nvim
- https://github.com/nvim-lualine/lualine.nvim
- https://github.com/williamboman/mason-lspconfig.nvim
- https://github.com/williamboman/mason.nvim
- https://github.com/nvim-neo-tree/neo-tree.nvim
- https://github.com/EdenEast/nightfox.nvim
- https://github.com/nvimtools/none-ls-extras.nvim
- https://github.com/nvimtools/none-ls.nvim
- https://github.com/fcancelinha/nordern.nvim
- https://github.com/MunifTanjim/nui.nvim
- https://github.com/hrsh7th/nvim-cmp
- https://github.com/terrortylor/nvim-comment
- https://github.com/mfussenegger/nvim-dap
- https://github.com/leoluz/nvim-dap-go
- https://github.com/rcarriga/nvim-dap-ui
- https://github.com/neovim/nvim-lspconfig
- https://github.com/nvim-neotest/nvim-nio
- https://github.com/nvim-treesitter/nvim-treesitter
- https://github.com/nvim-tree/nvim-web-devicons
- https://github.com/nvim-lua/plenary.nvim
- https://github.com/nvim-telescope/telescope-live-grep-args.nvim
- https://github.com/nvim-telescope/telescope-ui-select.nvim
- https://github.com/nvim-telescope/telescope.nvim
- https://github.com/tpope/vim-fugitive