My Neovim Configuration
I use Neovim as my main editor for programming and developing any application. Neovim is much faster as compare to VSCode or other applications. In this artice I will tell you how you can configure your Neovim for daily programming activities.
Neovim is getting more popular and it's plugins have been evolved so well. I’d like to share my latest setup for coding React and TypeScript based apps. The config files are written in Lua language. We will be using Packer for our package installation. If you have dotfiles already with you, you can take some inspiration from my dotfiles. I hope you enjoy it.
Ingredients
Here is recipe for my setup
- Neovim
- Packer — A Plugin Manager for Neovim
- ellisonleao/gruvbox — Gruvbox Colorscheme
- nvim-lualine/lualine.nvim — A blazing fast and easy to configure Neovim statusline written in Lua
- onsails/lspkind-nvim — VSCode-like pictograms
- L3MON4D3/LuaSnip — Snippet Engine for Neovim written in Lua
- hrsh7th/cmp-nvim-lsp — nvim-cmp source for neovim’s built-in LSP
- hrsh7th/cmp-buffer — nvim-cmp source for buffer words
- hrsh7th/nvim-cmp — A completion engine plugin for neovim written in Lua
- neovim/nvim-lspconfig — A collection of configurations for Neovim’s built-in LSP
- jose-elias-alvarez/null-ls.nvim — Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.
- MunifTanjim/prettier.nvim — Prettier plugin for Neovim's built-in LSP client
- williamboman/mason.nvim — Portable package manager for Neovim that runs everywhere Neovim runs. Easily install and manage LSP servers, DAP servers, linters, and formatters
- williamboman/mason-lspconfig.nvim — Extension to mason.nvim that makes it easier to use lspconfig with mason.nvim
- glepnir/lspsaga.nvim — A light-weight lsp plugin based on neovim's built-in lsp with a highly performant UI
- nvim-treesitter/nvim-treesitter — Treesitter configurations and abstraction layer for Neovim
- kyazdani42/nvim-web-devicons — Lua fork of vim-web-devicons for neovim
- nvim-telescope/telescope.nvim — A highly extendable fuzzy finder over lists
- nvim-telescope/telescope-file-browser.nvim — File Browser extension for telescope.nvim
- windwp/nvim-autopairs — Autopairs
- windwp/nvim-ts-autotag — Use treesitter to auto close and auto rename html tag
- norcalli/nvim-colorizer.lua — A high-performance color highlighter
- akinsho/nvim-bufferline.lua — A snazzy bufferline
- lewis6991/gitsigns.nvim — Git integration for buffers
- dinhhuy258/git.nvim — A simple clone of the plugin vim-fugitive
- folke/zen-mode.nvim — Distraction-free mode
- iamcco/markdown-preview.nvim — Markdown live preview
Prerequisites — Alacritty and Nerd Fonts
Alacritty is blazing fast terminal available for both Linux and MacOS. And you need to download nerd fonts so that you will get cool looking terminal. I have added my alacritty settings in dotfiles link above. Please do check.
Install Alacritty via Homebrew
brew install Alacritty
Install Neovim with Homebrew
brew install Neovim