Kaweees / nvim

πŸ–₯️ My custom configurations for neovim with an emphasis on functionality and efficiency

Home Page:https://miguelvf.dev/blog/dotfiles/nvim

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Contributors Forks Stargazers

Neovim Logo

My custom configurations for neovim with an emphasis on functionality and efficiency.

Built With

Neovim Lua GitHub Actions

Preview

StartupTime

Getting Started

Prerequisites

Before attempting to build this project, make sure you have Neovim, packer.nvim, and a Nerd Font installed on your machine.

Installation

To get a local copy of the project up and running on your machine, follow these simple steps:

  1. Clone the project repository
    git clone https://github.com/Kaweees/nvim.git
    cd nvim
  2. 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
  3. Install the project dependencies
    nvim +PlugInstall # Execute from the command line
    :PackerSync # Execute while in nvim
  4. If you want to use the WakaTime plugin, configure your API key.
    :WakaTimeApiKey # Execute while in nvim
  5. If you want to use the GitHub Copilot plugin, authenticate your account by executing the following command while in nvim.
    :Copilot auth

Usage

Available Plugins

  • 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

Keyboard Shortcuts

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

Project Structure

. 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

License

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.

About

πŸ–₯️ My custom configurations for neovim with an emphasis on functionality and efficiency

https://miguelvf.dev/blog/dotfiles/nvim

License:GNU General Public License v3.0


Languages

Language:Lua 100.0%