Skip to content

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.

NeovimLua

🌟 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 TreeEditor
TerminalTerminal
Lazy GitEditor
Typr StatsTelescope

📋 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

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

Development & Tooling

PluginDescription
nvim-lspconfigThe core LSP configuration plugin.
mason.nvimTo manage and install LSPs, linters, and formatters.
blink-cmpThe completion engine.
nvim-lintFor asynchronous linting.
gitsigns.nvimGit decorations and hunks in the sign column.
nvim-dapA Debug Adapter Protocol implementation.

Quality of Life

PluginDescription
auto-pairsAutomatically closes pairs of brackets, quotes, etc.
comment.nvimFor easy commenting and uncommenting of code.
indent-blankline.nvimAdds indentation guides.
flash.nvimFor 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 tospace.
🚀 Core & Navigation
ModeKeyAction
n<C-s>Save file
i<C-z>Undo
n<C-a>Select all
n<leader>snSave 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)
ModeKeyAction
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, osFlash
n, x, oSFlash Treesitter
orRemote Flash
o, xRTreesitter Search
c<c-s>Toggle Flash Search
🛠️ LSP, Logic & Development
ModeKeyAction
n, v<leader>fFormat file or range
nglView diagnostics for current line
n<leader>qOpen diagnostic [Q]uickfix list
n<Leader>;Pick symbols in winbar
n[;Go to start of current context
n];Select next context
n<leader>jcReplace test case to input.txt
n<leader>jrRun Java code
n<leader>jfRun CPP code
🐞 Debugging (DAP)
KeyActionAlt Key
<leader>DcDebug: Start/Continue<F5>
<leader>DbDebug: Toggle Breakpoint<leader>b
<leader>DsiDebug: Step Into<F1>
<leader>DsODebug: Step Over<F2>
<leader>DsoDebug: Step Out<F3>
<leader>DBSet Conditional Breakpoint<leader>B
<leader>DtToggle Debug UI
<leader>DlRun Last Configuration
<F7>See last session result
🎋 Git Integration (Gitsigns)
ModeKeyAction
n, v<leader>hsgit [s]tage hunk
n, v<leader>hrgit [r]eset hunk
n<leader>hSgit [S]tage buffer
n<leader>hugit [u]ndo stage hunk
n<leader>hRgit [R]eset buffer
n<leader>hpgit [p]review hunk
n<leader>hbgit [b]lame line
n<leader>hdgit [d]iff against index
n<leader>hDgit [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
ModeKeyAction
n, v<leader>aaSidekick Toggle CLI
n<leader>asSidekick Select CLI
v<leader>asSidekick Send Visual Selection
n, v<leader>apSidekick Select Prompt
all<c-.>Sidekick Switch Focus
n, v<leader>acSidekick Claude Toggle
💻 Terminal
ModeKeyAction
nAlt + 1Toggle 1st ToggleTerm Terminal instance.
nAlt + 2Toggle 2nd ToggleTerm Terminal instance.
nAlt + iToggle 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.

About

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

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages