If you are updating from previous versions, please make sure to run :Lazy sync and :Mason and update everything.
Update: Sep 8, 2025 :tada:
- 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 :rocket:
- 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 git@github.com: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 ().
<leader> to see available shortcuts.<leader>y<leader>p<C-h><C-l><C-k><C-j><leader>rl<leader>reEscjj<leader>qoThe default theme is set to kanagawa-wave; feel free to change it.
tsmtntpBy default if you have .venv in project directory this setup will use that otherwise:
<leader>vs<leader>vcFor python make sure you run pip install debugpy in the virtualenv detected/selected.
<F2><F3><F4><F5><Leader>b<F6><F7><F8>sSrR<C-s><leader>rdt<leader>ff<leader>fg<leader>tt<leader>tl<leader>e<leader>E<leader>nf<leader>gsKgd<leader>gdv<leader>gds<leader>gdp<leader>ca<C-k><leader>cd<leader>gf<leader>bs<Tab><S-Tab>3bh move buffer left 3 times.3bl move buffer right 5 times.<leader>bx<leader>bxa<leader>num number can be 1 to 9ctrl+/ctrl+/<leader>gp<leader>gb<leader>gl<leader>gfd<leader>u<leader>ss<leader>sl<leader>sd<leader>cc~/Pictures: <leader>csctrl+\<leader>th<leader>tf<leader>tstzRzMzaz=zg<leader>nd<leader>nl<leader>csv<leader>tsv~/.config/nvim/lua/plugins/avante to avante.lua for Ollama.