git clone https://github.com/neovim/neovim.git
cd neovim
git checkout release-0.8
make CMAKE_BUILD_TYPE=Release
sudo make install
sudo apt update && sudo apt upgrade && sudo apt install git ripgrep xsel wl-clipboard cargo clang-format python3-pip npm
sudo npm install -g neovim && sudo pip install black pynvim && sudo cargo install stylua
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*')
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
tar xf lazygit.tar.gz lazygit
sudo install lazygit /usr/local/bin
sudo dnf copr enable atim/lazygit -y
sudo dnf install lazygit
Make sure to remove or move your current nvim
directories: ~/.config/nvim
~/.local/share/nvim
git clone https://github.com/PiyushDuggal-source/neovim ~/.config/nvim
Run nvim
and wait for the plugins to be installed
NOTE (You will notice treesitter pulling in a bunch of parsers the next time you open Neovim)
Open nvim
and enter the following:
:checkhealth
check the report and download required packages.
You'll probably notice you don't have support for copy/paste also that python and node haven't been setup
So let's fix that
First we'll fix copy/paste
- On mac
pbcopy
should be builtin
NOTE make sure you have node installed, I recommend a node manager like fnm.
I recommend using the following repo to get a "Nerd Font" (Font that supports icons)
To add a new LSP
First Enter:
:LspInstallInfo
and press i
on the Language Server you wish to install
Next you will need to add the server to this list: servers
Make sure the formatter or linter is installed and add it to this setup function: null-ls
- packer
- plenary
- nvim-autopairs
- Comment.nvim
- nvim-ts-context-commentstring
- nvim-web-devicons
- nvim-tree.lua
- bufferline.nvim
- vim-bbye
- lualine.nvim
- toggleterm.nvim
- project.nvim
- impatient.nvim
- indent-blankline.nvim
- alpha-nvim
- tokyonight.nvim
- darkplus.nvim
- nvim-cmp
- cmp-buffer
- cmp-path
- cmp_luasnip
- cmp-nvim-lsp
- cmp-nvim-lua
- LuaSnip
- friendly-snippets
- mason.nvim
- nvim-lspconfig
- mason-lspconfig.nvim
- null-ls.nvim
- vim-illuminate
- telescope.nvim
- nvim-treesitter
- gitsigns.nvim
- nvim-dap
- nvim-dap-ui
- DAPInstall.nvim
- etc.
If debugging is the process of removing bug, then programming must be the process of putting them in.
- Edsger W. Dijkstra