Skip to content

My neovim configuration for C++, Rust, Python and Typescript Programming

Notifications You must be signed in to change notification settings

neox1de/nvim-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

My Neovim Configuration

A highly configured, modern Neovim setup featuring the Cyberdream colorscheme, extensive language support, and a suite of productivity tools.

Features

  • Aesthetics:

  • Theme: scottmckendry/cyberdream.nvim (Cyberpunk-inspired). *Dashboard: Custom ASCII art dashboard with quick access keys.

    • UI: Enhanced UI with noice.nvim, lualine.nvim, and custom icons. *Language Support:
    • Rust: Full support with rust-analyzer and rustfmt. *Python: Modern support with basedpyright, black, isort, and venv-selector for virtual environment management.
    • C++: clangd integration, clang-format, and cmake-tools.nvim for CMake projects. *Web: HTML, CSS, JSON, TypeScript/JavaScript support via prettier and relevant LSPs.
    • Lua: lua_ls and stylua. *Productivity:
    • Auto Build & Run: Quickly run code for Python, Rust, C++, and C. *Copilot: GitHub Copilot integration for code completion and chat.
    • Telescope: Fuzzy finding for files, text, git, and more.
    • Git: Integration with vim-fugitive and vim-flog.

Installation

  1. Backup your existing configuration:

    mv ~/.config/nvim ~/.config/nvim.bak
    mv ~/.local/share/nvim ~/.local/share/nvim.bak
  2. Clone the repository:

    git clone https://github.com/neox1de/nvim-config.git ~/.config/nvim
  3. Remove .git folder (Optional): If you want to treat this as your own personal configuration and not track upstream changes:

    rm -rf ~/.config/nvim/.git
  4. Install Plugins: Run Neovim. The plugin manager (lazy.nvim) will automatically bootstrap and install all plugins.

    nvim

    Note: You might see some errors on the first run as plugins are being installed. Restart Neovim after the installation completes.

Keybindings

The <leader> key is mapped to , (comma).

General

Keybinding Action
,w Toggle line wrapping
,s Toggle spell check
,x Make current file executable (chmod +x)
,rr Run Code (Python, Rust, C++, C)
Ctrl+n Next buffer
Ctrl+p Previous buffer
Ctrl+x Close buffer
,<tab><tab> New tab
,<tab>] Next tab
,<tab>[ Previous tab
,<tab>d Close tab
J / K (Visual) Move selected block up/down
Esc Esc Clear search highlighting

Navigation & Telescope

Keybinding Action
,f Browse files (File Browser) - Use this anytime to browse
,. Browse Neovim config files
\ Live Grep (Search text in project)
,o Recent files (Old files)
,g Grep word under cursor
,u Undo tree (Telescope Undo)

LSP (Language Server Protocol)

Keybinding Action
K Hover documentation
gd Go to definition
gD Go to declaration
gi Go to implementation
,rr Rename symbol
,ra Code actions
,/r Show references
,ls Signature help
,lE Show line diagnostics
,ll Toggle virtual lines (inline diagnostics)
,lt Toggle LSP
,rf Format buffer

Coding & Tools

Keybinding Action
,C Open Copilot Chat
,v Select Python Virtual Environment (venv-selector)
,tt Toggle Trouble (Diagnostics list)
,ts Toggle Trouble Symbols

Quick Tips

Browsing Files While Editing

  • At any time, press , then f (,f) to open the file browser
  • You can navigate, select, and open files without closing your current file
  • Press Esc to close the file browser and return to editing

First-Time Setup

All language parsers (including C++) are automatically installed via Treesitter on first launch. Just restart Neovim if you see any parser-related errors.

Credits

About

My neovim configuration for C++, Rust, Python and Typescript Programming

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages