Home

Awesome

<div align = "center"> <h1><a href="https://2kabhishek.github.io/nvim2k">nvim2k</a></h1> <a href="https://github.com/2KAbhishek/nvim2k/blob/main/LICENSE"> <img alt="License" src="https://img.shields.io/github/license/2kabhishek/nvim2k?style=flat&color=eee&label="> </a> <a href="https://github.com/2KAbhishek/nvim2k/graphs/contributors"> <img alt="People" src="https://img.shields.io/github/contributors/2kabhishek/nvim2k?style=flat&color=ffaaf2&label=People"> </a> <a href="https://github.com/2KAbhishek/nvim2k/stargazers"> <img alt="Stars" src="https://img.shields.io/github/stars/2kabhishek/nvim2k?style=flat&color=98c379&label=Stars"></a> <a href="https://github.com/2KAbhishek/nvim2k/network/members"> <img alt="Forks" src="https://img.shields.io/github/forks/2kabhishek/nvim2k?style=flat&color=66a8e0&label=Forks"> </a> <a href="https://github.com/2KAbhishek/nvim2k/watchers"> <img alt="Watches" src="https://img.shields.io/github/watchers/2kabhishek/nvim2k?style=flat&color=f5d08b&label=Watches"> </a> <a href="https://github.com/2KAbhishek/nvim2k/pulse"> <img alt="Last Updated" src="https://img.shields.io/github/last-commit/2kabhishek/nvim2k?style=flat&color=e06c75&label="> </a> <h3>Your Personalized Dev Env ❤️👨‍💻</h3> <figure> <img src= "images/screenshot.png" alt="nvim2k Demo"> <br/> <figcaption>nvim2k screenshot</figcaption> </figure> </div>

Handcrafted Neovim setup for the ultimate CLI dev experience.

Here's a YouTube playlist that contains all the videos I made related to nvim2k.

✨ Features

Most importantly:

Built for extending: nvim2k has a easy to understand config structure that promotes personalization, so go ahead, bring your keybindings, functions and plugins over, and truly make nvim2k: Your Personalized Development Environment!

⚡ Setup

⚙️ Requirements

Before you begin, ensure you have met the following requirements:

💻 Installation

To install nvim2k clone the repo and setup the symlink

git clone https://github.com/2kabhishek/nvim2k

On Linux and Mac

ln -sfnv $PWD/nvim2k $HOME/.config/nvim

On Windows Powershell

New-Item -ItemType SymbolicLink -Path "$env:LOCALAPPDATA\nvim" -Target "$PWD\nvim2k" -Force

🚀 Usage

Edit files in lua/core for tweaking options, and to add/remove functions and autocmds

📦 Plugins

To add new plugins add it to the plugins list

For plugin configs you can place them in these folders based on the functionality:

⌨️ Keybindings

Find the keybinding manual here.

If you want to change functionality of a core keybinding, edit core/keys

To add new keybindings edit the which-key config

🎨 User Configs

nvim2k supports a user module where you can store your custom configs, these will always override the default configs, whenever there is a clash.

To use custom configs create the file lua/user/init.lua, you can structure your configs as you like there.

lua/user/init.lua must be present to load custom configs, require any custom modules in this file.

user module is not part of the repo, you can set up user module as a separate git repository while continuously receiving nvim2k updates.

🤖 Auto Install

By default nvim2k will auto install a set of LSP servers and null-ls sources using mason, if you want to disable it make sure to add the following to your user module.

-- lua/user/init.lua
local user = {
    auto_install = true,
}

return user

To setup and access other user options you can use the get_user_config(key, default) method in lib.util

Example: local auto_install = require('lib.util').get_user_value('auto_install', true)

🧑‍💻 Behind The Code

🌈 Inspiration

I have been using vim/neovim for 7+ years now, I wanted to share my config for everyone to use

💡 Challenges/Learnings

🧰 Tools Used

🔍 More Info

<hr> <div align="center">

<strong>⭐ hit the star button if you found this useful ⭐</strong><br>

<a href="https://github.com/2KAbhishek/nvim2k">Source</a> | <a href="https://2kabhishek.github.io/blog" target="_blank">Blog </a> | <a href="https://twitter.com/2kabhishek" target="_blank">Twitter </a> | <a href="https://linkedin.com/in/2kabhishek" target="_blank">LinkedIn </a> | <a href="https://2kabhishek.github.io/links" target="_blank">More Links </a> | <a href="https://2kabhishek.github.io/projects" target="_blank">Other Projects </a>

</div>