LVIM IDE
LVIM IDE is a modular Neovim configuration written in LUA with full customization
- LSP support for 60+ languages
- Debug support for c, cpp, cs, dart, elixir, go, haskell, java, javascript/typescript, lua, php, python, ruby, rust, scala
Current version - 3.3.00 (2023-06-07)
130 plugins
SCREENSHOTS
INTRODUCTION
- Neovim 0.9.0+ (for NEOVIM < 0.9 use branch NEOVIM-0.8)
- Add or remove plugins, rewrite all plugins
- Add or remove settings, rewrite all settings
- Dynamic LSP activation
- Dynamic debugging activation - DAP
- Autoinstall the LSP servers, DAP servers, linters, and formatters
- Custom settings for projects
Icons
Now LvimIDE support Nerd fonts v3
All icons are predefined - `configs/base/ui/icons.lua`
For keybindings - press `F11` or `<C-c>h`
Hydra
- `;;` - All hydra keys
- `;l` - LVIM IDE
- `;a` - Common
- `;n` - Navigation
- `;r` - Replace
- `;h` - Hop
- `;e` - Explorer
- `;c` - Comment, annotation, fold
- `;u` - Linguistics
- `;t` - Telescope
- `;z` - FZF
- `;g` - GIT
- `;q` - Quickfix
- `;o` - Location
- `;d` - Diagnostics
- `;s` - Glance
- `;p` - DAP
- `;’` - Neotest
- `;m` - Terminal
- `;w` - Dependencies
- package.json (npm / yarn)
- Cargo.toml (rust)
- pubspec.yaml (dart)
REQUIREMENTS
- neovim >= 0.9.0
- pynvim
- neovim-remote
- nodejs
- ripgrep
- sed
- fzf
- rsync
- lazygit
- tidy-html5
- git
- curl or wget
- unzip, tar, gzip
INSTALL
git clone https://github.com/lvim-tech/lvim.git ~/.config/nvim
LVIM CONFIG
- Help for keybinds
:LvimHelper
- Theme - Dark (default), DarkSoft and Light
:LvimTheme
- AutoFormat (on save) - true (default), false
:LvimAutoFormat
- Charset, End of line, Indent style, Indent size, Insert final newline, Max line length, Tab width, Trim trailing whitespace
:EditorConfigCreate
- LSP
:LvimInstallLangDependencies
:Neoconf
:Neoconf local
:Neoconf global
:Neoconf show
:Neoconf lsp
SNAPSHOTS
- Snap folder: ~/.config/nvim/.snapshots/
- Default snapshot file: default
- Show current snapshot:
:SnapshotFileShow
- Choice file to rollback:
:SnapshotFileChoice
Then run:
:Lazy sync
COMPONENTS
CORE
FILE STRUCTURE
core ├── funcs.lua ├── global.lua ├── init.lua └── pack.lua 0 directories, 4 files
CONFIGS
FILE STRUCTURE
configs ├── base │ ├── init.lua │ ├── keymaps.lua │ └── options.lua └── user ├── init.lua ├── keymaps.lua └── options.lua 2 directories, 6 files
MODULES
FILE STRUCTURE
modules ├── base │ ├── configs │ │ ├── completion │ │ │ └── init.lua │ │ ├── editor │ │ │ └── init.lua │ │ ├── languages │ │ │ └── init.lua │ │ ├── ui │ │ │ ├── init.lua │ │ │ └── utils │ │ │ ├── input.lua │ │ │ └── select.lua │ │ └── version_control │ │ └── init.lua │ └── init.lua └── user ├── configs │ ├── completion │ │ └── init.lua │ ├── editor │ │ └── init.lua │ ├── languages │ │ └── init.lua │ ├── ui │ │ └── init.lua │ └── version_control │ └── init.lua └── init.lua 15 directories, 14 files
PLUGINS
LANGUAGES
FILE STRUCTURE
languages ├── base │ ├── init.lua │ ├── languages │ │ ├── angular.lua │ │ ├── clojure.lua │ │ ├── cmake.lua │ │ ├── _configs_diagnosticls.lua │ │ ├── _configs.lua │ │ ├── cpp.lua │ │ ├── cs.lua │ │ ├── css.lua │ │ ├── dart.lua │ │ ├── _diagnosticls.lua │ │ ├── d.lua │ │ ├── elixir.lua │ │ ├── elm.lua │ │ ├── ember.lua │ │ ├── _emmet.lua │ │ ├── erlang.lua │ │ ├── _eslint.lua │ │ ├── fortran.lua │ │ ├── go.lua │ │ ├── graphql.lua │ │ ├── groovy.lua │ │ ├── html.lua │ │ ├── java.lua │ │ ├── json.lua │ │ ├── jsts.lua │ │ ├── julia.lua │ │ ├── kotlin.lua │ │ ├── latex.lua │ │ ├── lua.lua │ │ ├── markdown.lua │ │ ├── perl.lua │ │ ├── php.lua │ │ ├── python.lua │ │ ├── r.lua │ │ ├── ruby.lua │ │ ├── rust.lua │ │ ├── shell.lua │ │ ├── sql.lua │ │ ├── _stylelint.lua │ │ ├── toml.lua │ │ ├── vim.lua │ │ ├── vue.lua │ │ ├── xml.lua │ │ ├── yaml.lua │ └── zig.lua │ └── utils │ ├── diagnostics.lua │ ├── init.lua │ └── select.lua └── user └── init.lua 4 directories, 50 files
LSP SUPPORT
- bib
- c
- clojure
- cmake
- cpp
- cs
- css
- d
- dart
- edn
- eelixir
- elixir
- elm
- erlang
- fortran
- go
- gomod
- graphql
- groovy
- haskell
- handlebars
- html
- java
- javascript
- javascript.jsx
- javascriptreact
- json
- julia
- kotlin
- less
- lua
- markdown
- mysql
- objc
- objcpp
- ocaml
- perl
- php
- postcss
- python
- r
- rmd
- ruby
- rust
- sass
- scss
- scala
- sh
- sql
- sugarss
- svg
- tex
- toml
- typescript
- typescript.tsx
- typescriptreact
- vb
- vim
- vue
- xml
- xsd
- xsl
- xslt
- yaml
- zig
- zir
DEBUG SUPPORT
- c
- cpp
- cs
- dart
- elixir
- go
- haskell
- java
- javascript/typescript
- lua
- php
- python
- ruby
- rust
- scala