Note: Use these settings and configurations at your own risk. Make sure you understand what each change entails.
Configuring Neovim with Dotfiles
Contents
- Vim (Neovim) Configuration
- Tmux Configuration
- Git Configuration
- Fish Configuration ### Plugins and Themes
Install the following Neovim plugins and themes:
- svrana/neosolarized.nvim - A truecolor, Solarized dark colorscheme.
- nvim-lualine/lualine.nvim - A fast and customizable statusline for Neovim written in Lua.
- onsails/lspkind-nvim - Adds VSCode-like pictograms.
- L3MON4D3/LuaSnip - A snippet engine for Neovim written in Lua.
- hrsh7th/cmp-nvim-lsp - Provides nvim-cmp source for Neovim's built-in LSP.
- hrsh7th/cmp-buffer - Offers nvim-cmp source for buffer words.
- hrsh7th/nvim-cmp - A Lua-based completion engine plugin for Neovim.
- neovim/nvim-lspconfig - A collection of configurations for Neovim's built-in LSP.
- jose-elias-alvarez/null-ls.nvim - Allows Neovim to serve as a language server, providing LSP diagnostics, code actions, and more via Lua.
- williamboman/mason.nvim - A portable package manager for Neovim that runs everywhere Neovim does. Easily manage LSP servers, DAP servers, linters, and formatters.
- williamboman/mason-lspconfig.nvim - An extension to mason.nvim, simplifying the use of lspconfig with mason.nvim.
- glepnir/lspsaga.nvim - A lightweight LSP plugin based on Neovim's built-in LSP with a highly performant UI.
- nvim-treesitter/nvim-treesitter - Provides Treesitter configurations and an abstraction layer for Neovim.
- kyazdani42/nvim-web-devicons - A Lua fork of vim-web-devicons for Neovim.
- nvim-telescope/telescope.nvim - A highly extendable fuzzy finder for lists.
- nvim-telescope/telescope-file-browser.nvim - A file browser extension for telescope.nvim.
- windwp/nvim-autopairs - Autopairs support.
- windwp/nvim-ts-autotag - Uses Treesitter to auto close and auto rename HTML tags.
- norcalli/nvim-colorizer.lua - A high-performance color highlighter.
- akinsho/nvim-bufferline.lua - A stylish bufferline.
- lewis6991/gitsigns.nvim - Git integration for buffers.
- dinhhuy258/git.nvim - A simple clone of the vim-fugitive plugin.
- folke/zen-mode.nvim - Enables distraction-free mode.
- iamcco/markdown-preview.nvim - Provides live Markdown preview. # Installation Process ## Neovim Setup
You will need Neovim (version 0.8 or higher) for these configurations.
- Install Neovim
sudo pacman -S neovim
Plugin Manager: wbthomason/packer.nvim
Install the Packer
plugin manager for Neovim:
git clone https://aur.archlinux.org/nvim-packer-git.git
cd nvim-packer-git/
makepkg -si
Fancy Shell for Linux
Install Fish shell
sudo pacman -S fish
Configuration
- Clone this repository:
git clone https://github.com/craftzdog/dotfiles-public
- Create a directory at
~/.config/nvim
and copy thedotfiles-public/.config/nvim
directory:
mkdir ~/.config/nvim
cp -r dotfiles-public/.config/nvim/ ~/.config/nvim/
- Open
plugin.lua
:
nvim ~/.config/nvim/lua/craftzdog/plugins.lua
- Switch to COMMAND mode in Neovim and enter the following command to install the plugins: Note: For switching command mode in Neovim press "shift+:" when you are in normal mode in neovim:
:PackerInstall
Tree-sitter for Syntax Highlighting
Install Tree-sitter for syntax highlighting:
- Install Tree-sitter:
sudo pacman -S tree-sitter
- Install Tree-sitter CLI:
sudo npm install -g tree-sitter-cli
Auto Suggestion & Syntax Highlighting (VSCode-like)
Set up language servers for JavaScript or TypeScript:
- Install the JavaScript/ TypeScript language server:
sudo npm install -g typescript-language-server typescript
Note: This language server will work for JavaScript as well as TypeScript.
- For Tailwind CSS users, install a language server for Tailwind CSS:
sudo npm install -g @tailwindcss/language-server
- To see a list of available languages for installation, use:
:TSInstallInfo
- Install the required language parsers, e.g., for JavaScript, php, python, go:
:TSInstall python
Finally You can launch Neovim by running:
nvim my_project # Replace "my_project" with your project name
# or
nvim . # Open Neovim in the current directory
If you are getting any errors during installation or need setup instructions for other operating systems, please let me know, and I will provide further guidance.
Thanks for Reading!
Go GodSpeed!!
Top comments (0)