If you are updating from previous versions, please make sure to run :Lazy sync and :Mason and update everything.
Update: Sep 8, 2025 π
- New: auto formatting TOML files on save.
- Fix: diagnostics float will auto close on buffer switch, to copy the diagnostic content use
<leader>cd- New:
bh,blto move buffer around (hfor moving left,lfor moving right) also support<n>bh or <n>blto repeat moving around.
Update: August 28, 2025 π
- The neo-tree will now automatically update the Git and file system state upon focus change.
- The Venv selector config has been updated to support the latest Git changes.
This is a starter configuration for Neovim, featuring a curated selection of the most useful plugins for Python, Rust and JavaScript development. It's lightweight and highly customizable, suitable for both beginners and advanced users.
A basic set of key mappings is included and located in lua/keymaps.lua. You can review and customize these mappings to align with your personal preferences.
Before proceeding, ensure you meet the following requirements:
Neovim Version: v0.11.0 - v.11.3
Operating System: Rocky Linux 9.4, PopOS 22.04, Debian 12.9, Android with termux
Ensure the following dependencies are installed for a seamless experience:
-
Ripgrep (for Telescope):
sudo dnf install ripgrep
-
Python venv (for Python-based plugins):
Replace<minor>with your Python minor version:sudo dnf install python3.<minor>-venv
-
Clipboard provider (e.g., xclip):
sudo dnf install xclip
-
Node.js & npm (for LSP support via
nvm):
Install nvm from GitHub. -
Prettier (for yaml,js,... formatting)
npm install -g prettier
$ cd ~/.config/nvim
$ git clone [email protected]:pykeras/neovim.git .
$ nvim-
Check Telescope health:
:checkhealth telescope
-
Save without formatting:
:noautocmd write
-
Install formatters, debuggers, etc. (via Mason):
:Mason
Leader Key <leader>:
The leader key is mapped to the spacebar ().
- Which Key (Help Menu): Press
<leader>to see available shortcuts. - Copy to clipboard:
<leader>y - Paste from clipboard:
<leader>p - Easier switching between splits:
- Move to the left split:
<C-h> - Move to the right split:
<C-l> - Move to the upper split:
<C-k> - Move to the lower split:
<C-j>
- Move to the left split:
- Toggle relative line numbers:
<leader>rl - Reload all open files:
<leader>re - Clear search highlights:
Esc - Escape insert mode:
jj - Close all splits except current:
<leader>qo
The default theme is set to kanagawa-wave; feel free to change it.
- Theme switcher menu:
tsm - Next theme:
tn - Previous theme:
tp
By default if you have .venv in project directory this setup will use that otherwise:
- Open selector:
<leader>vs - Select cached venv:
<leader>vc
For python make sure you run pip install debugpy in the virtualenv detected/selected.
- Step into:
<F2> - Step over:
<F3> - Step out:
<F4> - Continue/Start debugging:
<F5> - Toggle breakpoint:
<Leader>b - Set conditional breakpoint:
<F6> - Terminate debugger:
<F7> - Run last debugging session:
<F8>
- Flash jump (normal/visual/operator):
s - Flash Treesitter jump (normal/visual/operator):
S - Remote Flash (operator mode):
r - Treesitter search (operator/visual mode):
R - Toggle Flash search (command-line mode):
<C-s>
- Show testable functions:
<leader>rdt
- Search files:
<leader>ff - Live grep files:
<leader>fg - Show TODOs (Telescope):
<leader>tt - Show TODOs (loclist):
<leader>tl
- Open/Close NeoTree:
<leader>e - Reveal file in NeoTree:
<leader>E - NeoTree filesystem:
<leader>nf - Git status NeoTree:
<leader>gs
- Hover documentation:
K - Go to definition:
gd - Go to definition (vertical split):
<leader>gdv - Go to definition (horizontal split):
<leader>gds - Peek definition:
<leader>gdp - Code actions:
<leader>ca - Show method signature (Insert mode):
<C-k> - Copy diagnostic message to clipboard:
<leader>cd
- File global formatting:
<leader>gf
- Select buffer:
<leader>bs - Cycle next buffer:
<Tab> - Cycle previous buffer:
<S-Tab> - Move buffer left:
3bhmove buffer left 3 times. - Move buffer right:
3blmove buffer right 5 times. - Close buffer:
<leader>bx - Close all other buffers:
<leader>bxa - Jump to buffer based on position number:
<leader>numnumber can be 1 to 9
- Single line comment:
ctrl+/ - Multi-line comment (visual selection):
ctrl+/
- Preview hunk (change):
<leader>gp - Git blame:
<leader>gb - Git log (oneline graph, custom):
<leader>gl - Git difference (file):
<leader>gfd
- Open/Close undo tree:
<leader>u
- Save session:
<leader>ss - List sessions:
<leader>sl - Delete session:
<leader>sd
- Save to clipboard:
<leader>cc - Save to
~/Pictures:<leader>cs
- Open/Close terminal:
ctrl+\ - Open terminal below:
<leader>th - Open floating terminal:
<leader>tf - Send current line to terminal (run command from docs):
<leader>tst
- Fold all:
zR - Unfold all:
zM - Toggle fold under cursor:
za
- Display suggestions:
z= - Add word to dictionary:
zg
- Dismiss message:
<leader>nd - List messages:
<leader>nl
- View CSV as table:
<leader>csv - View TSV as table:
<leader>tsv
- Ensure LuaJIT is installed.
- Rename
~/.config/nvim/lua/plugins/avantetoavante.luaforOllama.