Welcome to my Neovim configuration repository! This repository contains my personal Neovim setup, including a variety of plugins and configurations to enhance the Neovim experience. Below you will find an overview of the included plugins and how to get started with this configuration.
To use this configuration, follow these steps:
-
Clone the repository:
git clone https://github.com/navaneet-rao/neovim-config.git ~/.config/nvim
-
Install Neovim (if not already installed): Follow the instructions on the Neovim GitHub repository to install the latest version of Neovim.
-
Install required dependencies: Ensure you have the necessary dependencies installed. You can use a package manager like
apt
,brew
, oryum
to install them. -
Install Plugins: Once Reload the neovim and Lazy will install the required plugins.
nvim
This configuration includes the following plugins:
- nvim-treesitter: Advanced code highlighting and parsing.
- neo-tree.nvim: A file explorer tree for Neovim.
- gruvbox.nvim: A retro groove color scheme.
- telescope.nvim: Highly extendable fuzzy finder over lists.
- nvim-web-devicons: File type icons for Neovim plugins.
- lualine.nvim: A blazing fast and easy to configure statusline.
- mason.nvim: Portable package manager.
- mason-lspconfig.nvim: Bridges mason.nvim with lspconfig.
- nvim-lspconfig: Quickstart configurations for the Neovim LSP client.
- telescope-ui-select.nvim: Telescope UI for
vim.ui.select
. - lazygit.nvim: Plugin to integrate LazyGit with Neovim.
- trouble.nvim: A pretty list for showing diagnostics, references, and more.
- alpha-nvim: A fast and highly customizable greeter.
- none-ls.nvim: Use Neovim as a language server to inject LSP diagnostics, code actions, and more.
- nvim-cmp: A completion plugin for Neovim.
- LuaSnip: Snippets plugin for Neovim.
- cmp-nvim-lsp: LSP source for nvim-cmp.
- harpoon: Quick file navigation.
The configuration for each plugin can be found in the respective files within the lua/
directory. For example, the configuration for nvim-treesitter
can be found in lua/plugins/treesitter.lua
.
Feel free to explore and customize these configurations to fit your needs.
Keybindings are defined in the init.vim
or init.lua
file. Here are some of the keybindings used in this configuration:
- File Explorer:
Ctrl + b
to toggle Neo-tree. - Fuzzy Finder:
Ctrl + ff
to open Telescope. - LSP:
gd
to go to definition,gr
to show references. - Git:
Leader + gg
to open LazyGit.
- Open Neovim.
- Press
<leader>/
to open the fuzzy finder. - Type
: Telescope keymaps
to search for the key bindings.
- Locate your Neovim configuration directory.
Typically, this is~/.config/nvim/
on Unix-based systems or~/AppData/Local/nvim/
on Windows. - Open the
keymaps.lua
file in your preferred editor. For example, runnvim ~/.config/nvim/lua/../../keymaps.lua
. - Edit or review the key bindings as needed.
Here are some screenshots of the setup:
Contributions are welcome! Please open an issue or submit a pull request with any improvements or bug fixes.
This project is licensed under the License. See the LICENSE file for details.
Enjoy coding with Neovim! If you have any questions or suggestions, feel free to open an issue.