Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

RAJ8664/nvim-config

Repository files navigation

πŸ‘¨β€πŸ’» Code Engine

A fully customized and high-performance Neovim setup designed to boost productivity and provide an IDE-like experience inside the terminal.

Neovim Lua

🌟 Features

  • πŸš€ Fast & Lightweight: Optimized for speed with lazy-loading plugins via lazy.nvim.
  • πŸ’‘ Smart Completion: Advanced code completion with nvim-cmp, powered by multiple sources.
  • πŸ’» Integrated Tooling: Built-in LSP, linting, formatting, and debugging support.
  • 🎨 Beautiful UI: A clean and modern aesthetic with a custom color scheme, file icons, and status line.
  • 🧩 Rich Plugin Ecosystem: A curated set of plugins for everything from Git integration to project management.
  • ⌨️ Intuitive Keymappings: Sensible and easy-to-remember shortcuts powered by which-key.

πŸ“Έ Screenshots

File Tree Editor
Terminal Terminal
Lazy Git Editor
Typr Stats Telescope

πŸ“‹ Prerequisites

Before you begin, ensure you have the following installed:

  • Neovim v0.8.0+
  • Git
  • A Nerd Font (for icons)

πŸš€ Installation

  1. Clone the repository:

    git clone https://github.com/RAJ8664/nvim-config.git
  2. Run the installation script:

    cd nvim-config
    chmod +x install.sh
    ./install.sh
  3. Start Neovim:

    Open Neovim and the plugins will be installed automatically.

    nvim

🧩 Core Plugins

This configuration is built around a set of powerful plugins:

Core & UI

Plugin Description
lazy.nvim The plugin manager that powers this setup.
Kanagawa.nvim The primary color scheme.
lualine.nvim A blazing fast and beautiful status line.
NeoTree.lua A fast and feature-rich file explorer.
bufferline.nvim A sleek and functional buffer line.
which-key.nvim A popup that displays keybindings.
telescope.nvim A highly extendable fuzzy finder.
nvim-treesitter For advanced syntax highlighting and code parsing.
dashboard-nvim A fancy start screen for Neovim.

Development & Tooling

Plugin Description
nvim-lspconfig The core LSP configuration plugin.
mason.nvim To manage and install LSPs, linters, and formatters.
blink-cmp The completion engine.
nvim-lint For asynchronous linting.
gitsigns.nvim Git decorations and hunks in the sign column.
nvim-dap A Debug Adapter Protocol implementation.

Quality of Life

Plugin Description
auto-pairs Automatically closes pairs of brackets, quotes, etc.
comment.nvim For easy commenting and uncommenting of code.
indent-blankline.nvim Adds indentation guides.
flash.nvim For quick navigation within the viewport.

🌐 Language Support

This configuration has built-in support for a variety of languages through nvim-lspconfig and mason.nvim. The following LSPs are configured by default:

  • lua_ls (Lua)
  • clangd (C/C++)
  • ts_ls (TypeScript/JavaScript)
  • jdtls (Java)
  • phpactor (PHP)
  • tailwindcss (Tailwind CSS)
  • html
  • sqls

You can easily add more LSPs by modifying the lsp_config.lua file.


🎨 Customization

This configuration is designed to be easily customizable. Here are some of the key files you might want to edit:

  • lua/core/options.lua: General Neovim settings.
  • lua/core/keymaps.lua: Global keymappings.
  • lua/plugins/: Plugin configurations. Add or remove files here to manage your plugins.
  • lua/plugins/lsp_config.lua: LSP and language server settings.

⌨️ Keybindings

  • Leader key is set to space.
πŸš€ Core & Navigation
Mode Key Action
n <C-s> Save file
i <C-z> Undo
n <C-a> Select all
n <leader>sn Save file without auto formatting
n <Esc> Clear search highlights
t <Esc><Esc> Exit terminal mode
n <C-h> Move focus to the left window
n <C-l> Move focus to the right window
n <C-j> Move focus to the lower window
n <C-k> Move focus to the upper window
n <Tab> Next buffer
n <S-Tab> Previous buffer
n <C-b> NeoTree reveal
πŸ” Search & Discovery (Telescope / Flash)
Mode Key Action
n <leader>sf [S]earch [F]iles
n <leader>sg [S]earch by [G]rep
n <leader>sw [S]earch current [W]ord
n <leader>sk [S]earch [K]eymaps
n <leader>sh [S]earch [H]elp
n <leader>ss [S]earch [S]elect Telescope
n <leader>sd [S]earch [D]iagnostics
n <leader>sr [S]earch [R]esume
n <leader>s. [S]earch Recent Files
n <leader><leader> Find existing buffers
n <leader>/ Fuzzily search in current buffer
n <leader>s/ [S]earch [/] in Open Files
n <leader>sn [S]earch [N]eovim files
n, x, o s Flash
n, x, o S Flash Treesitter
o r Remote Flash
o, x R Treesitter Search
c <c-s> Toggle Flash Search
πŸ› οΈ LSP, Logic & Development
Mode Key Action
n, v <leader>f Format file or range
n gl View diagnostics for current line
n <leader>q Open diagnostic [Q]uickfix list
n <Leader>; Pick symbols in winbar
n [; Go to start of current context
n ]; Select next context
n <leader>jc Replace test case to input.txt
n <leader>jr Run Java code
n <leader>jf Run CPP code
🐞 Debugging (DAP)
Key Action Alt Key
<leader>Dc Debug: Start/Continue <F5>
<leader>Db Debug: Toggle Breakpoint <leader>b
<leader>Dsi Debug: Step Into <F1>
<leader>DsO Debug: Step Over <F2>
<leader>Dso Debug: Step Out <F3>
<leader>DB Set Conditional Breakpoint <leader>B
<leader>Dt Toggle Debug UI β€”
<leader>Dl Run Last Configuration β€”
<F7> See last session result β€”
πŸŽ‹ Git Integration (Gitsigns)
Mode Key Action
n, v <leader>hs git [s]tage hunk
n, v <leader>hr git [r]eset hunk
n <leader>hS git [S]tage buffer
n <leader>hu git [u]ndo stage hunk
n <leader>hR git [R]eset buffer
n <leader>hp git [p]review hunk
n <leader>hb git [b]lame line
n <leader>hd git [d]iff against index
n <leader>hD git [D]iff against last commit
n <leader>gt [T]oggle git show [b]lame line
n <leader>tD [T]oggle git show [D]eleted
πŸ€– Sidekick AI Integration
Mode Key Action
n, v <leader>aa Sidekick Toggle CLI
n <leader>as Sidekick Select CLI
v <leader>as Sidekick Send Visual Selection
n, v <leader>ap Sidekick Select Prompt
all <c-.> Sidekick Switch Focus
n, v <leader>ac Sidekick Claude Toggle
πŸ’» Terminal
Mode Key Action
n Alt + 1 Toggle 1st ToggleTerm Terminal instance.
n Alt + 2 Toggle 2nd ToggleTerm Terminal instance.
n Alt + i Toggle ith ToggleTerm Terminal instance.

πŸ™ Credits

This configuration was inspired by the many amazing Neovim users and plugin authors in the community. A special thanks to the creators of the plugins and tools that make this setup possible.

Releases

No releases published

Sponsor this project

Packages

No packages published

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /