Skip to content
lootbuggerPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Neovim Configuration

Personal Neovim configuration using Neovim's native vim.pack package manager.

Requirements

  • Neovim 0.12 or newer
  • git
  • tree-sitter CLI and a C compiler
  • ripgrep and fd (recommended for faster Snacks searches)
  • a patched Nerd Font (optional)

Mason installs the configured language servers, formatters, and linters. Native package revisions are recorded in nvim-pack-lock.json.

Package management

Update packages and review the resulting confirmation buffer:

:lua vim.pack.update()

Write the confirmation buffer to apply updates, then use :restart. To remove a package, delete its specification from lua/user/deps.lua, restart, and call vim.pack.del() for the inactive package.

Keybindings

Leader key: Space.

Mode Key Action
Normal/Visual <leader>h Go to first character
Normal/Visual <leader>l Go to last character
Normal <leader>a Select all text
Normal/Visual x / X Delete without yanking
Normal <leader>w Save file
Normal <leader>q Quit
Normal <leader>bq Delete buffer
Normal <leader>bl Go to previous buffer
Normal <leader>bc Close buffer while preserving layout
Normal - / \ Open parent directory with Oil
Normal/Term <C-g> Toggle terminal
Normal <leader><space> Search open buffers
Normal <leader>ff Find files
Normal <leader>fh Recent files
Normal <leader>fg Search project
Normal <leader>fd Search diagnostics
Normal <leader>fs Search current buffer
Normal <leader>u Search undo history
Normal <leader>/ Search all pickers
Normal <leader>? Search keymaps
Normal <leader>z Toggle Snacks zen mode
Normal gd Go to definition
Normal <leader>th Toggle inlay hints
Normal/Visual <leader>cf Format buffer
Normal <leader>cl Lint buffer

Neovim's native LSP mappings provide K, gra, gri, grn, grr, grt, gO, and insert-mode <C-s>. The system clipboard is used through clipboard=unnamedplus. Format the buffer manually with <leader>cf.

Main plugins

Plugin Purpose
mini.nvim Editing modules, statusline, Git and diff UI
snacks.nvim Picker, terminal, zen mode, input and big-file handling
blink.cmp Completion and native snippets
nvim-lspconfig Native LSP configuration definitions
mason.nvim External development tools
ts-enable.nvim Tree-sitter parser management and activation
conform.nvim Formatting
nvim-lint Asynchronous linting
oil.nvim Filesystem editing
lazydev.nvim Neovim Lua API types for lua_ls
which-key.nvim Keymap hints
render-markdown.nvim Inline Markdown rendering
kanagawa.nvim Colorscheme

Structure

~/.config/nvim/
├── init.lua
├── nvim-pack-lock.json
├── lua/user/
│   ├── settings.lua
│   ├── keymaps.lua
│   ├── commands.lua
│   └── deps.lua
└── plugin/
    ├── blink-cmp.lua
    ├── conform.lua
    ├── lazydev.lua
    ├── lspconfig.lua
    ├── markdown_render.lua
    ├── mini.lua
    ├── nvim-lint.lua
    ├── oil.lua
    ├── snacks.lua
    ├── theme.lua
    ├── treesitter.lua
    └── which-key.lua

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages