https://github.com/khoido2003/neovim_config
Super nice and beautiful Neovim setup for C#, Go, Rust, Javascript/Typescript, Java, Python, HTML/CSS, TailwindCSS, Docker, yaml
https://github.com/khoido2003/neovim_config
lua neovim
Last synced: 2 months ago
JSON representation
Super nice and beautiful Neovim setup for C#, Go, Rust, Javascript/Typescript, Java, Python, HTML/CSS, TailwindCSS, Docker, yaml
- Host: GitHub
- URL: https://github.com/khoido2003/neovim_config
- Owner: khoido2003
- Created: 2024-11-15T16:12:04.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-01-19T16:53:43.000Z (5 months ago)
- Last Synced: 2025-01-19T17:47:44.171Z (5 months ago)
- Topics: lua, neovim
- Language: Lua
- Homepage:
- Size: 9.73 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Welcome to My Neovim Setup!
This is a **super fast** Neovim configuration that starts up in **50 ms or less**! It’s designed to be simple yet powerful, with a cool **Monokai** colorscheme to make coding look great.
---
## Install Instructions
> Install requires Neovim 0.10+. Always review the code before installing a configuration.
Clone the repository and install the plugins:
```sh
git clone [email protected]:khoido2003/neovim_config ~/.config/khoido2003/neovim_config
```Open Neovim with this config:
```sh
NVIM_APPNAME=khoido2003/neovim_config/ nvim
```## What's this all about
- Speed: Starts up blazingly fast (≤50 ms).
- Look: Uses the Monokai theme for a sleek, modern vibe. (https://github.com/polirritmico/monokai-nightasty.nvim)
- Tools: Manages plugins with LazyVim and LSP servers with Mason.nvim.
- Keybindings: Easy-to-use shortcuts for editing, navigation, and more (check them out below!).## Plugins
### colorscheme
+ [polirritmico/monokai-nightasty.nvim](https://dotfyle.com/plugins/polirritmico/monokai-nightasty.nvim)
### completion+ [hrsh7th/nvim-cmp](https://dotfyle.com/plugins/hrsh7th/nvim-cmp)
### editing-support+ [windwp/nvim-autopairs](https://dotfyle.com/plugins/windwp/nvim-autopairs)
+ [windwp/nvim-ts-autotag](https://dotfyle.com/plugins/windwp/nvim-ts-autotag)
+ [HiPhish/rainbow-delimiters.nvim](https://dotfyle.com/plugins/HiPhish/rainbow-delimiters.nvim)
### file-explorer+ [nvim-tree/nvim-tree.lua](https://dotfyle.com/plugins/nvim-tree/nvim-tree.lua)
### formatting+ [stevearc/conform.nvim](https://dotfyle.com/plugins/stevearc/conform.nvim)
### fuzzy-finder+ [nvim-telescope/telescope.nvim](https://dotfyle.com/plugins/nvim-telescope/telescope.nvim)
### git+ [lewis6991/gitsigns.nvim](https://dotfyle.com/plugins/lewis6991/gitsigns.nvim)
+ [sindrets/diffview.nvim](https://dotfyle.com/plugins/sindrets/diffview.nvim)
### icon+ [kyazdani42/nvim-web-devicons](https://dotfyle.com/plugins/kyazdani42/nvim-web-devicons)
### lsp+ [neovim/nvim-lspconfig](https://dotfyle.com/plugins/neovim/nvim-lspconfig)
### lsp-installer+ [williamboman/mason.nvim](https://dotfyle.com/plugins/williamboman/mason.nvim)
### nvim-dev+ [nvim-lua/plenary.nvim](https://dotfyle.com/plugins/nvim-lua/plenary.nvim)
### plugin-manager+ [folke/lazy.nvim](https://dotfyle.com/plugins/folke/lazy.nvim)
### snippet+ [L3MON4D3/LuaSnip](https://dotfyle.com/plugins/L3MON4D3/LuaSnip)
### statusline+ [echasnovski/mini.statusline](https://dotfyle.com/plugins/echasnovski/mini.statusline)
### syntax+ [nvim-treesitter/nvim-treesitter](https://dotfyle.com/plugins/nvim-treesitter/nvim-treesitter)
### terminal-integration+ [akinsho/toggleterm.nvim](https://dotfyle.com/plugins/akinsho/toggleterm.nvim)
## Language Servers
+ clangd
+ cssls
+ gdscript
+ gopls
+ html
+ jdtls
+ lua_ls
+ omnisharp
+ pyright
+ rust_analyzer
+ svelte
+ tailwindcss
+ yamlls## Keymappings
This configuration includes ergonomic keybindings for navigation, editing, and Git/LSP workflows. Below is a summary:
### Window Navigation
| Key | Action |
|-------------|--------------------|
| `Ctrl + h` | Move to left pane |
| `Ctrl + j` | Move to down pane |
| `Ctrl + k` | Move to up pane |
| `Ctrl + l` | Move to right pane |### Editing
| Key | Action |
|-------------|-----------------------|
| `Ctrl + s` | Save file |
| `Ctrl + z` | Undo |
| `Ctrl + c` | Copy to clipboard |
| `Ctrl + v` | Paste from clipboard |
| `Ctrl + a` | Select all text |
| `Del` | Delete (visual mode) |
| `Alt + j` | Move line down |
| `Alt + k` | Move line up |
| `Ctrl + /` | Toggle comment |### Search and Navigation
| Key | Action |
|-------------|----------------------------|
| `Leader + f` | Start search |
| `Leader + ff`| Find files (Telescope) |
| `Alt + f` | Live grep (Telescope) |
| `Alt + Shift + f` | Fuzzy find in buffer |
| `Tab` | Next buffer |
| `Shift + Tab` | Previous buffer |
| `Up`/`Down` | Navigate wrapped lines |
| `Enter` | Select current line |### File Explorer
| Key | Action |
|-------------|-----------------------|
| `Leader + e`| Toggle NvimTree |### LSP (Language Server Protocol)
| Key | Action |
|-------------|-------------------------|
| `Leader + gd`| Go to definition |
| `Leader + gr`| Go to references |
| `Leader + gt`| Go to type definition |
| `Leader + rn`| Rename symbol |
| `Leader + k` | Hover documentation |
| `Leader + sh`| Signature help |
| `Leader + ca`| Code action |
| `Leader + d` | Show diagnostics (float)|### Git (via Gitsigns)
| Key | Action |
|-------------|-------------------------|
| `Leader + nh`| Next hunk |
| `Leader + ph`| Previous hunk |
| `Leader + rh`| Reset hunk |
| `Leader + rb`| Reset buffer |
| `Leader + df`| Show diff |
| `Leader + bl`| Blame line |
| `Leader + gs`| Toggle Git signs |### Diffview
| Key | Action |
|-------------|-------------------------|
| `Leader + do`| Open Diffview |
| `Leader + dc`| Close Diffview |
| `Leader + dr`| Refresh Diffview |
| `Leader + dh`| File history (all) |
| `Leader + dhf`| File history (current)|### Terminal
| Key | Action |
|-------------|-------------------------|
| `Ctrl + t` | Toggle terminal |## Prequesites
- Autoformat code with Conform.nvim: https://github.com/stevearc/conform.nvim
+ To have Conform.nvim auto format for each programming language, on local machine
need to dowload the relevant formatter+ For example: JS/TS -> Prettier
- LSP server will be dowloaded automatically by Mason.nvim
## Nerd font
Recommend dowload FiraCode for better font and syntax supportDowload: https://github.com/tonsky/FiraCode
### Dowload Zig as compiler for Nvim-Tree-sitter
Using chocolatey
bash```
choco install zig
```
or visit Zig website for more guide: https://ziglang.org/learn/getting-started/#direct### Install Lazygit to use Git in terminal
bash
```
choco install lazygit
```
### Win32Yank(Window)
This is important to enable copy and paste inside Neovim since it does not support it
Dowload: https://github.com/equalsraf/win32yank/releases## Requirements
- Neovim >= 0.10.0
- Git >= 2.19.0
- Nerd Font(v3.0 or greater) (optional, but needed to display some icons)
- lazygit (optional)
## Results







