- 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 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
./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
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/" }
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_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
- tmux & oh-my-tmux for terminal multiplexing, I'm using only at wsl.
- lazygit smooth git operation.
- echasnovski/mini.splitjoin
- nvim-treesitter/nvim-treesitter-context
- echasnovski/mini.basics
- windwp/nvim-ts-autotag
- echasnovski/mini.ai
- debugloop/telescope-undo.nvim
- echasnovski/mini.pairs
- neovim/nvim-lspconfig
- mfussenegger/nvim-jdtls
- b0o/SchemaStore.nvim
- nvimtools/none-ls.nvim
- onsails/lspkind.nvim
- nvim-treesitter/nvim-treesitter-textobjects
- echasnovski/mini.surround
- nvim-treesitter/nvim-treesitter
Part of this readme was generated by Dotfyle