Save the current file
Setup navigation
Neovim
A searchable reference for the current Lua configuration. Shortcuts here are derived from the repository rather than remembered manually.
Shortcuts
Search by action, category, mode or key. The leader key is rendered as Space.
General
4Insert an MIT license header
Insert an Apache 2.0 license header
Insert a proprietary/private header
Navigation
6Move to the previous word
Move to the next word
Find files with Telescope
Live grep with Telescope
Browse open buffers with Telescope
Search Neovim help tags with Telescope
Editing
3Delete forward by word
Delete the previous word
Generate documentation with Neogen
LSP
9Go to definition
Go to declaration
Go to implementation
Show references
Show hover documentation using the custom hover renderer
Show the current signature
Rename the symbol under the cursor
Open LSP code actions
Format through the attached LSP
Diagnostics
5Show diagnostics at the cursor in a focused floating window
Jump to the previous diagnostic
Jump to the next diagnostic
Open the diagnostic floating window
Send diagnostics to the location list
Formatting
1Format the current file with Conform
Git
19Jump to the next Git hunk
Jump to the previous Git hunk
Stage the current Git hunk
Reset the current Git hunk
Stage the current buffer
Reset the current buffer
Preview the current hunk
Diff the current file
Diff the current file against the last commit
Show blame for the current line
Toggle current-line blame
Select a Git hunk
Open LazyGit
Open LazyGit for the current file
Open the LazyGit log filter
Open Diffview
Show file history in Diffview
Show repository history in Diffview
Close Diffview
Surround
5Wrap the current word or selection with double quotes
Wrap the current word or selection with single quotes
Wrap the current word or selection with parentheses
Wrap the current word or selection with brackets
Wrap the current word or selection with braces
Competitive programming
5Compile and run the current C++ file with sanitizers and timing
Compile and run the current C++ file using input.txt when available
Build the current C++ file only
Open input.txt in a vertical split
Load the competitive-programming C++ template into an empty buffer
42 / Norminette
4Insert or update the 42 standard header
Save the file and trigger the Norminette-on-write workflow when enabled
Toggle Norminette diagnostics for the current buffer
Save and run checkp against Python files in a terminal split
Terminal
1Leave terminal mode and return to normal mode
Rust
3Show Rust runnables
Expand the Rust macro under the cursor
Open Cargo.toml through rustaceanvim
Completion
10Select the previous completion item
Select the next completion item
Scroll completion documentation up
Scroll completion documentation down
Open completion
Abort completion
Confirm the selected completion item without auto-selecting one
Select the next completion item or expand/jump a snippet
Select the previous completion item or jump backward in a snippet
Debug the rendered completion documentation buffer
No shortcut matches this search.
Configuration features
The parts of the current configuration that materially change the editing workflow.
LSP and tooling
Mason manages basedpyright, clangd, lua_ls, ruff and yamlls, with clang-format, prettierd, rust-analyzer and stylua installed as tools. Neovim 0.11 uses the native vim.lsp.config/vim.lsp.enable flow.
Completion
nvim-cmp combines LSP, LuaSnip, filesystem paths and buffer completion. It uses bordered completion/docs windows, ghost text and custom Doxygen documentation rendering.
Formatting
Conform handles Ruff for Python, Prettierd for web/JSON/YAML/Markdown, clang-format for C/C++, rustfmt for Rust and stylua for Lua. Prettier-oriented filetypes also format on save.
Treesitter
Treesitter highlighting is enabled for Bash, C, C++, Doxygen, JSON, JavaScript, Lua, Markdown, Python, Rust, TSX, TypeScript, Vim and YAML, including the Docker Compose YAML filetype.
Persistent undo
Undo history is persisted under Neovim's state directory, so undo survives editor restarts.
C/C++ documentation
clangd hover is rendered through a custom cleaner and completion documentation converts Doxygen commands into more readable Markdown sections.
42 / Norminette
C and header files under a /42/ path enable Norminette automatically. Saving runs the checker and publishes errors through Neovim diagnostics. Per-buffer toggle commands are available.
Git workflow
Gitsigns provides hunk navigation and staging, LazyGit provides a full Git UI, and Diffview covers file/repository history and diffs.
Rust
rustaceanvim integrates rust-analyzer with Clippy checks, all Cargo features, inlay hints and dedicated runnables/macro/Cargo actions.
Docker Compose YAML
Compose files get a dedicated Neovim path instead of being treated as generic YAML.
Dedicated yaml.docker-compose filetype for compose.yml, compose.yaml, docker-compose.yml and common variants.
yamlls validation, completion and hover with an explicit Docker Compose schema from the Compose specification.
Prettierd formatting through Conform with two-space indentation.
Treesitter YAML highlighting registered for the Docker Compose filetype.
Neovim diagnostics from the YAML language server.
Configuration source
Keymaps
dotfiles/nvim/lua/config/keymaps.luaLSP
dotfiles/nvim/lua/config/lsp.luaLSP plugins
dotfiles/nvim/lua/plugins/lsp.luaFormatting
dotfiles/nvim/lua/plugins/format.luaCompletion
dotfiles/nvim/lua/plugins/cmp.luaGit
dotfiles/nvim/lua/plugins/git.luaSurround
dotfiles/nvim/lua/plugins/surround.luaRust
dotfiles/nvim/lua/plugins/rust.lua42 / Norminette
dotfiles/nvim/lua/config/norminette.luaTreesitter
dotfiles/nvim/lua/plugins/treesitter.lua