๐Ÿ“ฆ MaxwellKnight / nvim-config

personal neovim configuration.

โ˜… 0 stars โ‘‚ 0 forks ๐Ÿ‘ 0 watching
๐Ÿ“ฅ Clone https://github.com/MaxwellKnight/nvim-config.git
HTTPS git clone https://github.com/MaxwellKnight/nvim-config.git
SSH git clone git@github.com:MaxwellKnight/nvim-config.git
CLI gh repo clone MaxwellKnight/nvim-config
Amir Angel Amir Angel wip 84ccbde 8 months ago ๐Ÿ“ History
๐Ÿ“‚ main View all commits โ†’
๐Ÿ“ ftdetect
๐Ÿ“ lua
๐Ÿ“ syntax
๐Ÿ“„ .luarc.json
๐Ÿ“„ .stylua.toml
๐Ÿ“„ init.lua
๐Ÿ“„ lazy-lock.json
๐Ÿ“„ README.md
๐Ÿ“„ README.md

Neovim Configuration

My modern Neovim setup focused on development with LSP support, fuzzy finding, and code completion.

NOTE: This configuration is highly inspired by the kickstart project.

Core Features

  • Plugin management with lazy.nvim
  • LSP support with auto-installation of language servers
  • Fuzzy finding with Telescope
  • Code completion with nvim-cmp
  • Syntax highlighting with Treesitter
  • Auto-formatting with conform.nvim
  • Git integration
  • Minimal statusline

Directory Structure

~/.config/nvim/
โ”œโ”€โ”€ init.lua                 # Main configuration entry point
โ”œโ”€โ”€ .stylua.toml            # Lua formatting rules (column width, indents)
โ”œโ”€โ”€ .gitignore              # Git ignore patterns
โ””โ”€โ”€ lua/
    โ””โ”€โ”€ custom/            # Personal configuration files
        โ”œโ”€โ”€ autocmds.lua   # Automatic commands (yank highlight, etc.)
        โ”œโ”€โ”€ keymaps.lua    # Key mappings (navigation, LSP, etc.)
        โ”œโ”€โ”€ options.lua    # Neovim options (numbers, tabs, etc.)
        โ””โ”€โ”€ plugins/       # Plugin configurations
            โ”œโ”€โ”€ init.lua          # Plugin declarations and simple setups
            โ”œโ”€โ”€ telescope.lua     # Fuzzy finder and pickers
            โ”œโ”€โ”€ lsp.lua          # Language server configs
            โ”œโ”€โ”€ completion.lua    # Code completion behavior
            โ”œโ”€โ”€ treesitter.lua   # Syntax highlighting settings
            โ”œโ”€โ”€ mini.lua         # Mini plugin collection setup
            โ”œโ”€โ”€ colorscheme.lua  # Theme configuration
            โ””โ”€โ”€ conform.lua      # Code formatting rules

Key Mappings

Leader key: Space

Navigation

  • <C-h/j/k/l> - Window navigation
  • <C-d>/<C-u> - Scroll down/up (centered)

Telescope

  • <leader>sf - Find files
  • <leader>sg - Live grep
  • <leader>sw - Search current word
  • <leader>/ - Search in current buffer
  • <leader>s. - Recent files

LSP

  • gd - Go to definition
  • gr - Show references
  • K - Show documentation
  • <leader>rn - Rename
  • <leader>ca - Code actions
  • [d/]d - Previous/next diagnostic

Editor

  • <leader>f - Format buffer
  • <Esc> - Clear search highlight
  • <leader>e - Show diagnostic float

LSP Servers

Automatically installs and configures:

  • lua_ls for Lua
  • pyright for Python
  • clangd for C/C++
  • rust-analyzer for Rust
  • eslint for JavaScript/TypeScript
Additional servers can be installed via :Mason

Notes

  • Format on save disabled for all filetypes
  • Treesitter auto-installs syntax support for commonly used languages
  • Custom statusline using mini.nvim
  • Fuzzy finding respects .gitignore