Skip to content

bearenbey/erenvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

ERENVIM

A hand-rolled Neovim configuration targeting Neovim 0.11+. Uses lazy.nvim as the plugin manager with a modular Lua structure.

Built for Python, Rust, GDScript (Godot), TypeScript/JavaScript, Kotlin, HTML/CSS, and Markdown development.

Features

  • Custom unruled colorscheme (bundled as a local plugin)
  • LSP with auto-installed servers via Mason
  • Autocompletion powered by blink.cmp
  • Fuzzy finding with Telescope + fzf-native
  • Debugging (DAP) for Python, Rust, and GDScript
  • Git integration via gitsigns + Neogit + diffview
  • Treesitter-based syntax highlighting
  • Dashboard with quick actions and shortcut reference

Structure

init.lua                    # Entry point — bootstraps lazy.nvim
lua/
├── config/
│   ├── options.lua         # Editor options (loaded first, sets leader key)
│   ├── keymaps.lua         # Global keybindings
│   └── autocmds.lua        # Autocommands
└── plugins/
    ├── ui.lua              # Colorscheme, lualine, indent guides, icons
    ├── dashboard.lua       # Alpha-nvim start screen
    ├── neo-tree.lua        # File tree sidebar
    ├── telescope.lua       # Fuzzy finder
    ├── treesitter.lua      # Syntax highlighting & indentation
    ├── lsp.lua             # LSP servers + Mason auto-install
    ├── completion.lua      # Autocompletion + snippets
    ├── git.lua             # Gitsigns + Neogit + diffview
    ├── dap.lua             # Debug adapters (Python, Rust, GDScript)
    ├── editor.lua          # which-key, autopairs, comments
    └── unruled/            # Custom colorscheme (local plugin)

Keybindings

Leader key is Space.

General

Key Action
<Space>w Save file
<Space>bd Delete buffer
<Shift-h> / <Shift-l> Previous / next buffer
<Ctrl-h/j/k/l> Navigate windows
<Ctrl-d> / <Ctrl-u> Scroll down / up (centered)
gc / gb Toggle line / block comment
J / K (visual) Move selected lines down / up

File Tree (Neo-tree)

Key Action
<Space>e Toggle file tree
<Space>o Focus file tree

Find (Telescope)

Key Action
<Space>ff Find files
<Space>fg Live grep
<Space>fb Find buffers
<Space>fr Recent files
<Space>fh Help tags
<Space>fd Diagnostics
<Space>fs Document symbols

LSP

Key Action
gd Go to definition
gr References
gI Go to implementation
gy Type definition
gD Go to declaration
K Hover documentation
<Space>ca Code action
<Space>rn Rename symbol
<Space>d Show diagnostic float
[d / ]d Previous / next diagnostic

Git

Key Action
<Space>gg Open Neogit
<Space>hs Stage hunk
<Space>hr Reset hunk
<Space>hp Preview hunk
<Space>hb Blame line
]h / [h Next / previous hunk

Debug (DAP)

Key Action
<Space>db Toggle breakpoint
<Space>dc Continue
<Space>di Step into
<Space>do Step over
<Space>dO Step out
<Space>du Toggle DAP UI
<Space>dr Toggle REPL
<Space>dt Terminate

LSP Servers

Auto-installed via Mason:

  • pyright — Python
  • rust_analyzer — Rust
  • ts_ls — TypeScript / JavaScript
  • kotlin_language_server — Kotlin
  • html — HTML
  • cssls — CSS
  • marksman — Markdown
  • lua_ls — Lua

GDScript LSP connects directly to the Godot editor on localhost:6005 (requires Godot to be running).

Debug Adapters

Auto-installed via Mason:

  • debugpy — Python
  • codelldb — Rust / C / C++

GDScript DAP connects to Godot on localhost:6006.

Requirements

  • Neovim >= 0.11
  • Git
  • A Nerd Font (for icons)
  • make and a C compiler (for telescope-fzf-native)
  • ncat (for GDScript LSP — only needed for Godot development)

Installation

Clone the repo and symlink it to your Neovim config directory:

git clone https://github.com/bearenbey/erenvim.git ~/.config/nvim

Launch Neovim and lazy.nvim will automatically install all plugins on first run.

To try it without affecting an existing config:

git clone https://github.com/bearenbey/erenvim.git ~/.config/nvim-custom
NVIM_APPNAME=nvim-custom nvim

About

ERENVIM

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages