/lvim

LVIM IDE is a modular Neovim configuration written in LUA with full customization.

Primary LanguageLuaBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

LVIM IDE

./LVIM/media/lvim-ide-logo.png

LVIM IDE is a modular Neovim configuration written in LUA with full customization

  • LSP support for 60+ languages
  • Debug support for c, cpp, dart, elixir, go, haskell, java, javascript/typescript, lua, php, python, ruby, rust, scala

Current version - 2.6.15 (2022-12-28)

121 plugins

SCREENSHOTS

./LVIM/media/lvim-ide-screenshot_01.png

./LVIM/media/lvim-ide-screenshot_02.png

./LVIM/media/lvim-ide-screenshot_03.png

./LVIM/media/lvim-ide-screenshot_04.png

./LVIM/media/lvim-ide-screenshot_05.png

./LVIM/media/lvim-ide-screenshot_06.png

./LVIM/media/lvim-ide-screenshot_07.png

./LVIM/media/lvim-ide-screenshot_08.png

./LVIM/media/lvim-ide-screenshot_09.png

./LVIM/media/lvim-ide-screenshot_10.png

./LVIM/media/lvim-ide-screenshot_11.png

./LVIM/media/lvim-ide-screenshot_12.png

./LVIM/media/lvim-ide-screenshot_13.png

./LVIM/media/lvim-ide-screenshot_14.png

./LVIM/media/lvim-ide-screenshot_15.png

./LVIM/media/lvim-ide-screenshot_16.png

./LVIM/media/lvim-ide-screenshot_17.png

./LVIM/media/lvim-ide-screenshot_18.png

INTRODUCTION

  • Neovim 0.8.0+ (for NEOVIM < 0.8 use branch NEOVIM-0.7)
  • 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

For keybindings - press F11

REQUIREMENTS

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
  • dart
  • elixir
  • go
  • haskell
  • java
  • javascript/typescript
  • lua
  • php
  • python
  • ruby
  • rust
  • scala