Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neovim Configuration

A modular Neovim configuration using lazy.nvim as the plugin manager. Each plugin has its own config file in lua/plugins/.


Plugin Overview

🎨 UI & Appearance

Plugin Source Description
Alpha goolord/alpha-nvim Startup dashboard using the Startify theme. Loads on VimEnter.
Catppuccin catppuccin/nvim Color scheme (flavour: Macchiato). Integrates with cmp, gitsigns, nvim-tree. Italic comments & conditionals.
Lualine nvim-lualine/lualine.nvim Statusline using the Catppuccin theme. Shows mode, filename, branch, filetype, progress, and location.
Which-Key folke/which-key.nvim Popup keymap hints (timeout: 300ms). Groups defined for Molten, Telescope, Git, and Git Hunks.

🔍 Navigation & Search

Plugin Source Key Bindings
Telescope nvim-telescope/telescope.nvim (v0.1.8) <leader>ff find files · <leader>fg live grep · <leader>fb buffers · <leader>fh help · <leader>fr recent files · <leader>fc nvim config · <leader>fw word under cursor · <leader>gs git status
Nvim-Tree nvim-tree/nvim-tree.lua <leader>e toggle · <leader>ft focus · <leader>gf find file in tree. Tree-local: l open · h close dir · v vsplit · t new tab.
Flash folke/flash.nvim s jump · S treesitter select · r remote flash · R treesitter search · <C-s> toggle in search.

Telescope extensions: fzf-native, ui-select.


🧠 LSP, Completion & Snippets

Plugin Source Notes
nvim-lspconfig neovim/nvim-lspconfig Core LSP client configuration.
Mason williamboman/mason.nvim LSP/DAP/linter/formatter installer GUI.
mason-lspconfig williamboman/mason-lspconfig.nvim Bridges Mason ↔ lspconfig.
nvim-cmp hrsh7th/nvim-cmp Autocompletion engine. Sources: cmp-nvim-lsp, cmp-buffer, cmp-path, cmp_luasnip. Config in lua/config/cmp_setup.lua.
LuaSnip L3MON4D3/LuaSnip Snippet engine with friendly-snippets (VS Code-style snippets).
Autopairs windwp/nvim-autopairs Auto-close brackets/quotes. Loads on InsertEnter.

✏️ Formatting & Linting

Plugin Source Details
Conform stevearc/conform.nvim Format-on-save (500ms timeout). <leader>cf to manually format. Formatters: stylua (Lua), isort+black (Python), prettier (JS/HTML/CSS/JSON/YAML/Markdown), shfmt (Bash).
nvim-lint mfussenegger/nvim-lint Async linting on BufEnter/BufWritePost/InsertLeave. <leader>ll to trigger manually. Linters: pylint (Python), eslint_d (JS/TS).

🌳 Treesitter

Plugin Source Features
nvim-treesitter nvim-treesitter/nvim-treesitter AST-based highlighting, indentation, incremental selection (<C-space>/<BS>), and expression-based folding.
treesitter-textobjects nvim-treesitter/nvim-treesitter-textobjects Select: af/if function · ac/ic class · ab/ib block · al/il loop · aa/ia argument · ai/ii conditional · a/ comment. Move: ]m/[m function · ]]/[[ class · ]b/[b block · ]a/[a argument. Swap: <leader>sn/<leader>sp swap arguments. Repeatable with ; and ,.

Installed parsers: lua, python, c, cpp, html, css, javascript, typescript, json, yaml, toml, markdown, bash, dockerfile, vim, vimdoc, query, and more via auto_install.


🔀 Git Integration

Plugin Source Key Bindings
Gitsigns lewis6991/gitsigns.nvim ]h/[h next/prev hunk · <leader>hs stage hunk · <leader>hr reset hunk · <leader>hS stage buffer · <leader>hu undo stage · <leader>hp preview · <leader>hb blame line · <leader>tb toggle line blame · <leader>hd diff. Text object: ih select hunk.
Neogit NeogitOrg/neogit <leader>gg open Neogit · <leader>gd open Diffview. Deps: plenary, diffview.nvim, telescope.

🌐 Remote Development

Plugin Source Notes
Distant chipsenkbeil/distant.nvim (v0.3) Edit remote files and run programs over SSH.
Remote SSH inhesrom/remote-ssh.nvim Full remote dev with LSP forwarding (pylsp, clangd). Includes telescope-remote-buffer for searching remote buffers. Auto-save with 3s debounce.
Remote SSHFS nosduco/remote-sshfs.nvim Mount remote filesystems via SSHFS. Reads ~/.ssh/config. Mount point: ~/.sshfs/. Auto-unmounts on exit. Telescope extension included.

📓 Data Science (Jupyter Notebooks)

Plugin Source Notes
Molten benlubas/molten-nvim (v1.x) Interactive Jupyter kernel execution. Image rendering via image.nvim (Kitty backend). Keymaps under <localleader>m: mi init · md deinit · ml eval line · mr re-eval cell · mv eval visual · mx delete output · mh hide output · ms enter output.
Luarocks vhyrro/luarocks.nvim Manages Lua rocks (magick, dkjson) required by image.nvim.
image.nvim 3rd/image.nvim Renders images/plots inline in the terminal (Kitty protocol + magick rock).
Jupytext goerz/jupytext.nvim (v0.2.0) Converts .ipynb notebooks to plain-text scripts for seamless editing.

📝 Markdown

Plugin Source Notes
render-markdown MeanderingProgrammer/render-markdown.nvim In-buffer markdown rendering with styled code blocks (full style, block width, thin borders). Supports markdown, quarto, rmd, vimwiki.
markdown-preview iamcco/markdown-preview.nvim Live browser preview. <leader>mp to toggle. Auto-closes on buffer switch.

About

My config for Neovim that can be replicated or used in any machines

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages