my nvim config
A modular, fast, and minimal Neovim setup for daily development.
Posted on June 24, 2025 by Ramtin
Computer Science
editor-setup and configs

config files and installation manual: github
accessing config files:
cd ~/.config/nvim/
Directory of general remap configs:
~/.config/nvim/lua/ramtin/remap.lua
which is contain current mapping:
vim.g.mapleader = " "
vim.keymap. set("n", "<leader>ex", vim.cmd. Ex)
Configs directory of installed packages:
~/.config/nvim/after/plugin
installed Packages:
- cmp.lua
- colorscheme.lua
- harpoon.lua
- lsp.lua
- telescope.lua
- treesitter.lua
summery of general short keys:
| exit the current window | space + ex |
summery of cmp short keys:
| Navigate between completion items | Ctrl + p |
| Navigate between completion items | Ctrl + n |
| confirm completion | Enter(CR) |
| trigger completion menu | Ctrl+Space |
| Scroll up and down in the completion documentation | Ctrl + u |
| Scroll up and down in the completion documentation | Ctrl + d |
summery of Harpon short keys:
| Add current file to Harpoon list | Leader + a |
| Toggle Harpoon quick menu | Ctrl + e |
| Go to file 1 in list | Ctrl + q |
| Go to file 2 in list | Ctrl + w |
| Go to file 3 in list | Ctrl + e |
| Go to file 4 in list | Ctrl + r |
| Go to previous file in Harpoon list | Ctrl + Shift + P |
| Go to next file in Harpoon list | Ctrl + Shift + N |
Summary of telescope short keys:
| Find files in project (uses current working directory) | Leader + pf |
| Find files tracked by Git | Ctrl + p |
| Search for a string using live grep | Leader + ps |
📌 Vim Cheat Sheet
Cursor Movement
| h | Move cursor left |
| j | Move cursor down |
| k | Move cursor up |
| l | Move cursor right |
| 0 | Move to beginning of line |
| ^ | Move to first non-whitespace character |
| $ | Move to end of line |
| gg | Go to beginning of file |
| G | Go to end of file |
| 5G | Go to line number 5 |
File Management
| :e filename | Open file for editing |
| :w | Save current buffer |
| :w filename | Save buffer to specific filename |
| :q | Close current window |
| :wq | Save and quit |
| :q! | Quit without saving |
| :wa | Write (save) all buffers |
Editing Commands I
| i | Insert before cursor |
| a | Insert after cursor |
| I | Insert at beginning of line |
| A | Insert at end of line |
| o | Open new line below |
| O | Open new line above |
Editing Commands II
| dd | Delete current line |
| D | Delete to end of line |
| C | Change to end of line |
| u | Undo last change |
| cw | Change word (to end) |
| cb | Change to beginning of word |
Visual Mode Commands
| v | Enter visual mode (character-wise) |
| V | Enter visual mode (line-wise) |
| y | Yank (copy) selected text |
| d | Delete selected text |
| c | Change selected text |
Search and Replace
| /pattern | Search forward |
| ?pattern | Search backward |
| n | Repeat search forward |
| N | Repeat search backward |
| :%s/pattern/replacement/g | Replace all in file |
Macros and Registers
| qa | Start recording macro to register 'a' |
| q | Stop recording |
| @a | Run macro in register 'a' |
| " | Access a register |
| "ay | Yank into register 'a' |
Splits and Tabs
| :sp | Split window horizontally |
| :vsp | Split window vertically |
| :tabe | Open new tab |
| :tabc | Close current tab |
| :tabn | Next tab |
| :tabp | Previous tab |