sudo apt update && sudo apt upgrade -y
- Run this cmd to download neovim with wget
wget https://github.com/neovim/neovim/releases/download/v0.9.5/nvim-linux64.tar.gz - Extract with tar
tar xzvf nvim-linux64.tar.gz - open bash_alises (dotfile) with
nano ~/.bash_aliases - Add this line
alias nvim="~/./nvim-linux64/bin/nvim"and save it. - Source the dotfile
source ~/.bash_aliases - Make a dotfolder if not exists
mkdir ~/.config - Go inside to this dotfolder
cd ~/.configand make another foldermkdir nviminside the .config folder - Now go inside nvim folder and clone this repo
git clone https://github.com/Doma-byte/Neovim-config.gitand paste all repo files in nvim folder - Now open nvim with this cmd
nvim init.lua
sudo apt install -y shfmt
sudo apt install -y golang-go
sudo apt install -y black
sudo apt install -y silversearcher-ag
sudo apt install -y exuberant-ctags
- Go to a neovim configuration file
cd ~/.config/nvim/ - Clone this git repository by
git clone https://github.com/Doma-byte/Neovim-config.git - Now you're good to go, so open any folder by
nvim <folder_name>and wait until plugins downloads.
auto-pairsthis plugin is to automatically insert and handle pairs of characters like parentheses, brackets, and quotes.catppucina whimsical plugin adding cat-themed snippets and clever autocorrections for a playful coding experience.tpope/vim-commentarythis plugin simplifies commenting allowing seamless commenting and uncommenting of lines with a single keypress.mhartington/formatter.nvima plugin for code formatters for basic most used languages.- [
junegunn/fzf,junegunn/fzf.vim] this plugin used for fuzzy finding and working with files and buffers. lewis6991/gitsigns.nvimthis plugin provides informative signs in the gutter, indicating changes, additions, and deletions in real-time.- [
williamboman/mason.nvim,williamboman/mason-lspconfig.nvim,neovim/nvim-lspconfig] this plugin is to integrate LSP (language server protocol) for hover, go to definition, and code actions in various filetypes. nvim-lualine/lualine.nvima plugin for customizable statusline providing essential information with Lua-based theming.nvim-neo-tree/neo-tree.nvimEfficient file navigation with a customizable tree-like file explorer.- [
tpope/vim-eunuch,scrooloose/nerdtree] this plugin includes a command-line abbreviation to replace "rename" with "Rename" in "vim-eunuch" and a key mapping to toggle the NERDTree file explorer. preservim/tagbarthis plugin display tags, classes, and functions in a convenient sidebar.- [
nvim-telescope/telescope.nvim,nvim-telescope/telescope-ui-select.nvim] these plugins enhance file searching, navigation, and provide a UI selection mode within the Telescope plugin. - [
nvim-treesitter/nvim-treesitter,windwp/nvim-ts-autotag] these plugins enhance syntax highlighting, indentation, and autotagging functionality.
| Plugins | Insert Mode | Normal Mode | Visual Mode | Commands |
|---|---|---|---|---|
| commenting | gcc |
gc |
||
| formatting | <space>fm |
|||
| fzf (files) | <space>f |
|||
| fzf (buffer) | <space>b |
|||
| fzf (history) | <space>h |
|||
| fzf (by word :ag) | <space>k |
|||
| lsp (hover) | K |
|||
| lsp (definition) | gd |
|||
| lsp (code_action) | v |
|||
| neo-tree (filesystem) | <Ctrl>f |
|||
| neo-tree (float) | <Ctrl>a |
|||
| nvimTree (Rename) | <Ctrl>j |
|||
| nvimtree (toggletree) | <Ctrl>n |
|||
| tagbar | f8 |
|||
| telescope (find files) | <Ctrl>p |
|||
| telescope (live grep) | <space>fg |
|||
| vertically split file | <Ctrl>t |
|||
| Mason (linter + formatter) | <Ctrl>m |
|||
| Gitsigns (Preview Hunk) | <space>gp |
|||
| Gitsigns (blame) | <space>gt |
|||
| Gitsigns/all_cmd | Git <cmd> |
|||
| Debugger (break point) | <space>dt |
|||
| Debugger (visuals) | <space>dc |
|||
| Session toggler | <space>ls |
-
Enter into nvim with any projects.
-
Make sure you're in normal mode and then type
:Masonand enter. -
Now install all the necessary formatter and linters.
- Press 2 to download LSP and use
/<name>- Download these LSP
pyright, lua-language-server, bash-language-server, css-lsp, html-lsp, json-lsp, typescript-language-server
- Download these LSP
- Press 4 to download Linter
eslint_d - Press 5 to download formatter
black, isort, prettier, stylua
- Press 2 to download LSP and use
[NOTE]: To download and press i for install
~NeoVim Recommended Plugins Lua file by Dikshit singh