![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, packer.nvim, 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 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.
Mode | Command Keybind | Command Description |
---|---|---|
normal | leader + c | create new window and switch to it |
a | leader + # | switch to window # |
a | leader + n | switch to next window |
a | leader + p | switch to previous window |
a | leader + : | swap window with next window |
a | leader + ; | swap window with previous window |
a | leader + & | kill window and all panes in it |
. 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.