This is a starter configuration for Neovim, featuring a curated selection of the most useful plugins for Python and Rust 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.2
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
Esc
jj
<leader>qo
By default if you have .venv
in project directory this setup will use that otherwise:
<leader>vs
<leader>vc
For python make sure you run pip install debugpy
in the virtualenv detected/selected.
<F2>
<F3>
<F4>
<F5>
<Leader>b
<F6>
<F7>
<F8>
<leader>rdt
<leader>ff
<leader>fg
<leader>tt
<leader>tl
<leader>e
<leader>E
<leader>nf
<leader>gs
K
gd
<leader>gdv
<leader>gds
<leader>gdp
<leader>ca
<C-k>
<leader>gf
<leader>bs
<Tab>
<S-Tab>
<leader>bl
<leader>br
<leader>bx
<leader>bxa
ctrl+/
ctrl+/
<leader>gp
<leader>gb
<leader>gl
<leader>gfd
<leader>u
<leader>ss
<leader>sl
<leader>sd
<leader>cc
~/Pictures
: <leader>cs
ctrl+\
<leader>th
<leader>tf
<leader>tst
zR
zM
za
z=
zg
<leader>nd
<leader>nl
<leader>csv
<leader>tsv
~/.config/nvim/lua/plugins/avante
to avante.lua
for Ollama
.