wenjinnn / wenvim

wenjinnn's neovim configuration.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

wenjinnn's neovim configuration

wenvim

screenshot

Principle and Goal

  • Simple, yet powerful, always on develop.
  • Lazy load all plugins if it could, to optimize startup time to the shortest possible time, right now on my PC, the startup time are less then 30ms.
  • Avoid sidebar, focus on editing. personally, I prefer to use float window, sidebar buffer just distract me a lot.
  • Avoid extra UI plugins. In common scenarios, mini.notify and telescope.nvim with telescope-ui-select.nvim already done well enough for notify and float window.
  • Provide out-of-box experience for web development

Install Instructions

Install requires Neovim 0.10+. Always review the code before installing a configuration.

Clone the repository and install the plugins:

git clone git@github.com:wenjinnn/wenvim ~/.config/wenjinnn/wenvim

Open Neovim with this config:

NVIM_APPNAME=wenjinnn/wenvim nvim

Directory notes

./plugin vim custom autocmd keymap option and more

./lua/lsp LSP config and settings

  • define a key-value pair table at <lspname>/init.lua, attribute in table will autoload by particular lsp
  • on_attach function in <lspname>/init.lua will auto execute by particular lsp, with a setup warpper

./lua/plugin plugins with particular settings and keymap

./lua/util common utils

./after just some filetype settings

Defined environment variables cheatsheets:

Common

LAZY_NVIM_LOCK_PATH lazy.nvim lockfile path, if not set, fallback to lazy.nvim default setting

TELESCOPE_FILE_IGNORE_PATTERNS telescope.nvim file ignore patterns, if not set, the pattern is { "^.git/", "^node_modules/" }

Dap

PROJECT_NAME nvim-dap config for dap configuration projectName

DAP_HOST nvim-dap config for setting host, most used at remote debug situations.

DAP_HOST_PORT like above, but for host port

Java

JAVA_HOME fallback java home

JAVA_8_HOME java 8 home

JAVA_17_HOME java 17 home

JAVA_21_HOME java 21 home

JDTLS_MAVEN_SETTINGS jdtls maven user settings.xml path

JDTLS_JAVA_HOME jdtls java home, if not set, fallback to JAVA_21_HOME

Must have

  1. ripgrep and fd for many plugin.

Recommend

  1. tmux & oh-my-tmux for terminal multiplexing, I'm using only at wsl.
  2. lazygit smooth git operation.

Main Plugins

color

colorscheme

comment

completion

debugging

editing-support

file-explorer

formatting

fuzzy-finder

git

icon

indent

keybinding

lsp

lsp-installer

markdown-and-latex

marks

motion

note-taking

nvim-dev

plugin-manager

search

session

snippet

split-and-window

startup

statusline

syntax

terminal-integration

utility

Part of this readme was generated by Dotfyle

About

wenjinnn's neovim configuration.

License:MIT License


Languages

Language:Lua 99.7%Language:Vim Script 0.3%