![Neovim Logo](https://raw.githubusercontent.com/Kaweees/nvim/main/assets/img/nvim.png)
My custom configurations for neovim with an emphasis on functionality and efficiency.
Before attempting to build this project, make sure you have Neovim, and a Nerd Font installed on your machine.
To get a local copy of the project up and running on your machine, follow these simple steps:
- Clone the project repository
git clone https://github.com/Kaweees/nvim.git cd nvim
- Create a symlink from the cloned folder to where neovim expects its configuration to be located. Personally, I use ansible to create symlinks for all of my dotfiles. If you are not sure where it is, check
$XDG_CONFIG_HOME/nvim
or run one of these commands to find out::echo stdpath('config') # Execute while in nvim :h rtp # Execute while in nvim
- Install packer.nvim
git clone --depth 1 https://github.com/wbthomason/packer.nvim\ ~/.local/share/nvim/site/pack/packer/start/packer.nvim
- Install the project dependencies
nvim +PlugInstall # Execute from the command line :PackerSync # Execute while in nvim
- If you want to use the WakaTime plugin, configure your API key.
:WakaTimeApiKey # Execute while in nvim
- If you want to use the GitHub Copilot plugin, authenticate your account by executing the following command while in nvim.
:Copilot auth
- packer.nvim : This plugin is an easy-to-use plugin manager and installs all of the other plugins listed here.
- telescope.nvim : This plugin provides extensible fuzzy finder over lists.
- harpoon : This plugin provides a quick way to switch between specific files in a project and execute project specific commands.
- vim-wakatime : This plugin allows programming activity to automatically be tracked and displayed in your WakaTime dashboard.
- copilot.lua : This plugin provides an efficent way to use GitHub Copilot AI to generate code snippets.
To see all of the available plugins, please refer to packer.lua
To enter custom commands into nvim, you must first enter a specific keybind, which is called the leader, followed by the command keybind while in a specific editor mode. My prefix key is space.
To refresh neovim and install new plugins, type leader + I (capital i, as in Install) while in normal mode.
. nvim/
├── after/plugins/ - plugin-specific configurations
├── lua/config/
│ ├── packer.lua - packages installed by packer.nvim
│ ├── remap.lua - keybinds and leader configuration
│ └── set.lua - miscellaneous settings
├── init.lua - Entry point, loads all plugins and configurations
└── README.md - you are here
The source code for my website is distributed under the terms of the GNU General Public License v3.0, as I firmly believe that collaborating on free and open-source software fosters innovations that mutually and equitably beneficial to both collaborators and users alike. See LICENSE
for details and more information.