lvim-tech/lvim

website github github
preconfigured-configuration
star 216
alert-circle 0
users 4
git-branch 24
CREATED

2021-04-17

UPDATED

2 days ago


  • 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

Current version - 2.5.80 (2022-12-02)

122 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

* [[https://github.com/neovim/neovim/wiki/Installing-Neovim][neovim >= 0.8.0]]
* [[https://github.com/neovim/pynvim][pynvim]]
* [[https://github.com/mhinz/neovim-remote][neovim-remote]]
* [[https://nodejs.org/en/][nodejs]]
* [[https://github.com/BurntSushi/ripgrep][ripgrep]]
* sed
* [[https://github.com/junegunn/fzf][fzf]]
* [[https://github.com/WayneD/rsync][rsync]]
* [[https://github.com/jesseduffield/lazygit][lazygit]]
* [[https://github.com/gleitz/howdoi][howdoi]]
* [[https://github.com/htacg/tidy-html5][tidy-html5]]
* [[https://git-scm.com/][git]]
* [[https://curl.se/][curl]] or [[https://www.gnu.org/software/wget/][wget]]
* unzip, tar, gzip

** INSTALL

#+begin_src bash
git clone https://github.com/lvim-tech/lvim.git ~/.config/nvim
#+end_src

+ For osx bigsur bug
    Issue: [[https://github.com/wbthomason/packer.nvim/issues/180][Luarocks fails to install on macOS BigSur #180]]
    Uncoment these lines in *lua/init.lua*:

#+begin_src lua
if vim.fn.has("mac") == 1 then
    vim.fn.setenv("MACOSX_DEPLOYMENT_TARGET", "10.15")
end
#+end_src

** LVIM CONFIG

- Help for keybinds

#+begin_src lua

:LvimHelper

#+end_src

- Theme - Dark (default), DarkSoft and Light

#+begin_src lua

:LvimTheme

#+end_src

- AutoFormat (on save) - true (default), false

#+begin_src lua

:LvimAutoFormat

#+end_src

- Charset, End of line, Indent style, Indent size, Insert final newline, Max line length, Tab width, Trim trailing whitespace

#+begin_src lua

:EditorConfigCreate

#+end_src

- LSP

#+begin_src lua

:LvimInstallLangDependencies
:Neoconf
:Neoconf local
:Neoconf global
:Neoconf show
:Neoconf lsp

#+end_src

** SNAPSHOTS

+ Snap folder: *~/.config/nvim/.snapshots/*

+ Default snapshot file: *default*

+ Show current snapshot:

#+begin_src lua

:PackerShowCurrentSnapshot

#+end_src

+ Create new snapshot: 

#+begin_src lua

:PackerSnapshot

#+end_src

+ Choice file to rollback: 

#+begin_src lua

:PackerChoiceSnapshotToRollback

#+end_src

Then restart LVIM IDE and run:

#+begin_src lua

:PackerSync

#+end_src

** COMPONENTS

*** CORE

**** FILE STRUCTURE

#+begin_src

core
├── funcs.lua
├── global.lua
├── init.lua
└── pack.lua

0 directories, 4 files

#+end_src

*** CONFIGS

**** FILE STRUCTURE

#+begin_src

configs
├── base
│   ├── init.lua
│   ├── keymaps.lua
│   └── options.lua
└── user
    ├── init.lua
    ├── keymaps.lua
    └── options.lua

2 directories, 6 files

#+end_src

*** MODULES

**** FILE STRUCTURE

#+begin_src

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

#+end_src

**** PLUGINS

+ [[./LVIM/modules/utils.org][UTILS]]

+ [[./LVIM/modules/ui.org][UI]]

+ [[./LVIM/modules/editor.org][EDITOR]]

+ [[./LVIM/modules/version-control.org][VERSION CONTROL]]

+ [[./LVIM/modules/languages.org][LANGUAGES]]

+ [[./LVIM/modules/completion.org][COMPLETION]]

*** LANGUAGES

**** FILE STRUCTURE

 #+begin_src

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

 #+end_src

**** 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
  + perl
  + php
  + postcss
  + python
  + r
  + rmd
  + ruby
  + rust
  + sass
  + scss
  + 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