Skip to content

learnershakil/nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neovim Configuration

This is a personalized, high-performance Neovim configuration based on AstroNvim v5. It features a modern transparent UI, robust coding tools, AI assistance, and full support for a wide range of programming languages.

Features

  • Base Framework: Built on top of the powerful AstroNvim v5.
  • Theme: Cyberdream (Dark, Transparent) for a futuristic look.
  • AI Powered: Integrated with Avante.nvim for AI coding assistance (Cursor-like experience).
  • Language Support:
    • Systems: C, C++, Rust, Go, Swift.
    • Web: HTML, CSS, JavaScript, TypeScript, Solana (Rust/TOML).
    • Backend/Scripting: Java, C#, Python.
  • Productivity:
    • Flash: Lightning-fast navigation.
    • Lazygit: Full git integration within Neovim.
    • Harpoon: Quick file jumping for your working set.
    • Trouble: Pretty diagnostics and quickfix lists.
    • Spectre: Project-wide search and replace.
    • Mini.surround: Easy surrounding character manipulation.
    • Neotest: Interactive unit testing.

Prerequisites

Before installing, ensure you have the following tools installed on your system:

  1. Neovim: Version 0.9.0 or later (0.10+ recommended).
  2. Nerd Fonts: A Nerd Font installed and configured in your terminal (e.g., JetBrainsMono Nerd Font) for icons to display correctly.
  3. External Tools:
    • ripgrep: For fast text searching (used by Telescope/Spectre).
    • lazygit: For the git interface.
    • gcc or clang: C compiler for compiling Treesitter parsers.
    • make: Build tool for some plugins.
    • npm and node: Required for many LSPs (TypeScript, HTML, CSS, etc.).
    • cargo (Rust): Required for Rust tools and some system tools.
    • python3 and pip: Required for Python tools.

Installation

  1. Backup: Back up your existing configuration.

    mv ~/.config/nvim ~/.config/nvim.bak
    mv ~/.local/share/nvim ~/.local/share/nvim.bak
  2. Clone: Clone this repository to your config directory.

    git clone <your-repo-url> ~/.config/nvim
  3. Start Neovim: Run nvim. The package manager (Lazy.nvim) will automatically install all plugins.

    nvim

Installed Plugins

Productivity & Tools

  • Flash.nvim: Navigation motions. Press s to jump anywhere.
  • Lazygit.nvim: Git terminal interface. Press <Space>gg to open.
  • Avante.nvim: AI coding assistant. Chat with your code.
  • Trouble.nvim: Diagnostics list. View errors in a clean list.
  • Harpoon: Marked file navigation. Keep track of active files.
  • Spectre: Search and replace across the entire project.
  • Todo Comments: Highlights TODOs and FIXMEs.
  • Mini.surround: Actions to add/change/delete surrounding characters (quotes, brackets).
  • Neotest: Integrated testing framework.
  • Render Markdown: Renders Markdown content beautifully in the buffer.

Languages & LSPs

Full LSP (Language Server Protocol), formatting, and debugging support provided via AstroCommunity packs for:

  • Systems: C, C++, Rust, Go, Swift.
  • Web: HTML, CSS, JavaScript, TypeScript, Solana.
  • General: Java, C#, Python, TOML, JSON.

Core & UI

  • AstroNvim: The underlying framework.
  • Cyberdream: High-contrast, transparent dark theme.
  • BufferTabs: Minimalist buffer tab line.
  • Smear Cursor: Smooth cursor trailing animation.
  • Snacks.nvim: Dashboard and UI utilities.

Keybindings

The Leader key is set to <Space>. Below are the most important keybindings.

General & Navigation

Keybinding Action Description
<Space>q Quit Quit Neovim
<Space>w Save Save file
<Tab> Next Buffer Go to the next buffer
<S-Tab> Prev Buffer Go to the previous buffer
<Space>c Close Buffer Close the current buffer
t Toggle BufferTabs Toggle the top buffer line
s Flash Jump Jump anywhere on screen visible text

File Management

Keybinding Action Description
<Space>ff Find Files Fuzzy find files in project
<Space>fw Live Grep Search for text in project
<Space>fo Old Files Find recently opened files
<Space>e File Explorer Toggle file explorer tree

Productivity & Git

Keybinding Action Description
<Space>gg Lazygit Open Lazygit interface
<Space>a Harpoon Add Add file to Harpoon list
<Space>h Harpoon Menu Open Harpoon quick menu
<Space>xx Trouble Open diagnostics list
<Space>S Spectre Open search & replace panel

LSP & Coding

Keybinding Action Description
K Hover Show documentation for symbol
gd Go to Definition Jump to symbol definition
gr References Find references of symbol
<Space>la Code Action Open code actions menu
<Space>lr Rename Rename symbol
<Space>lf Format Format code

Troubleshooting

  • Icons not showing?: Ensure you have a Nerd Font installed and set as your terminal font.
  • LSP not working?: Run :LspInfo to check the status of the language server. You may need to install the server via :Mason or your system package manager.
  • Check Health: Run :checkhealth to identify and fix common issues.
  • Update Plugins: Run :Lazy update to update all plugins.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages