main
🎨 Darcula Neovim
A modern, cross-platform Neovim distribution for C/C++, Lua, and everyday development.
✨ Highlights
- 🚀 Two complete editor environments
- COC (
viml.sh) - Native LSP (
viml2.sh)
- COC (
- 🐳 Fully reproducible Docker environments
- ⚡ Fast startup and modern UI
- 🌲 Tree-sitter syntax highlighting
- 🔭 Telescope fuzzy finder
- 🛠️ Clangd and Lua development
- 💾 Persistent editor state
- 🌎 Linux, macOS, and Windows support
🚀 Quick Start
Local (COC)
./viml.sh .
Local (Native LSP)
./viml2.sh .
Docker (COC)
./build_nvim.sh
./dviml.sh .
Docker (Native LSP)
./build_nvim2.sh
./dviml2.sh .
📂 Repository Scripts
| Script | Description |
|---|---|
viml.sh |
Launch local COC configuration |
viml2.sh |
Launch local Native LSP configuration |
dviml.sh |
Launch Docker COC configuration |
dviml2.sh |
Launch Docker Native LSP configuration |
build_nvim.sh |
Build Docker COC image |
build_nvim2.sh |
Build Docker Native LSP image |
build_all.sh |
Build both Docker images |
🎯 Which Configuration?
🚀 COC
Best if you want:
- Rich completion
- Mature plugin ecosystem
- Extensive language support
- IDE-like experience
⚡ Native LSP
Best if you prefer:
- Pure Neovim
- Built-in LSP
- Lower memory usage
- Faster startup
- Minimal configuration
💻 Local Development
All launcher arguments are forwarded directly to Neovim.
Examples:
./viml.sh .
./viml.sh src/main.cpp
./viml.sh +150 src/main.cpp
./viml.sh -p file1.cpp file2.cpp
The same options work with viml2.sh.
🐳 Docker Development
Build once:
./build_nvim.sh
Launch:
./dviml.sh .
Or use the native LSP environment:
./build_nvim2.sh
./dviml2.sh .
Note:
build_all.shbuilds both images and may remove unused Docker resources beforehand.
⚖️ Local vs Docker
| Local | Docker |
|---|---|
| ⚡ Fastest startup | 🔒 Fully isolated |
| 🖥️ Uses host toolchain | 📦 Reproducible environment |
| 💾 Native filesystem | 🧪 Great for testing |
| 🚀 Daily development | 🔄 Consistent across machines |
💾 Persistent Docker Data
Docker containers are disposable, but your editor state is not.
The Docker launchers preserve:
- Plugin installations
- Cache
- Undo history
- ShaDa history
- Swap files
Each environment maintains its own independent data directory.
📋 Requirements
🖥️ Local
- Git
- Supported shell
- Linux, macOS, or Windows
🐳 Docker
- Docker Engine
🤝 Contributing
Issues, feature requests, and pull requests are welcome.
If you encounter a bug, please include:
- Operating system
- Neovim version
- Launcher used (
viml,viml2,dviml, ordviml2) - Steps to reproduce
📄 License
Released under the MIT License.
Languages
Lua
87.1%
Shell
9.4%
Dockerfile
3.5%