https://github.com/ljiaooo/snapvim
Use vim everywhere in a snap on Windows
https://github.com/ljiaooo/snapvim
vim
Last synced: about 1 month ago
JSON representation
Use vim everywhere in a snap on Windows
- Host: GitHub
- URL: https://github.com/ljiaooo/snapvim
- Owner: Ljiaooo
- Created: 2025-08-01T10:46:04.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-08-14T02:26:56.000Z (11 months ago)
- Last Synced: 2025-08-14T02:39:04.684Z (11 months ago)
- Topics: vim
- Language: C++
- Homepage:
- Size: 2.95 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
SnapVim
A lightweight, Windows-only, Vim-inspired text editor designed for quick, short-term edits.
---
## âĻ Features
- ⥠**Instant launch with Ctrl+Space** â jump straight into editing from anywhere
- ðŊ **Vim-inspired commands** â `:w`, `:wq`, `:write` for quick save and exit
- ð **Automatic paste** â after saving, SnapVim pastes the edited text into the last active window
- ðŠķ **Lightweight** â small footprint, minimal dependencies, and low resource usage
- ðĨ **Windows platform** â currently only supports Windows
---
1. We intend for SnapVim to be used only for short-term Vim-style editing. For long-term text or code editing, please use the official Vim or other editors like VS Code.
2. SnapVim currently supports most native Vim operations in insert, normal, and command modes. Visual mode is not yet well implemented.
3. SnapVim supports the :bp command to view the previous buffer history, but it can only store one record. Since SnapVim manages buffers internally, buffer-related commands in command mode are not supported.
4. Runtime configuration is not supported right now, edit **svimconfig.h** and rebuild.
## ð How It Works
1. **Trigger the editor**
Press Ctrl + Space anywhere in Windows. SnapVim will launch instantly.
2. **Focus tracking**
SnapVim remembers which window was active before it opened.
3. **Edit quickly**
Make your changes using normal Vim editing modes.
4. **Save and paste**
When you run `:w`, `:wq`, or `:write`, SnapVim automatically:
- Saves the content
- Switches back to the previously active window
- Pastes the edited text directly there
---
## ð Dependencies
SnapVim is built on top of:
- [**libvim**](https://github.com/onivim/libvim) â Core Vim editing engine
- [**Dear ImGui**](https://github.com/ocornut/imgui) â Immediate Mode GUI for rendering the editor interface
- **Fonts** â **JetBrainsMono-Medium** for English and **NotoSansSC-Medium** for Chinese
---
## ðĶ Installation & Build
### Prerequisites
- **Clang** âĨ 20.1.8
- **CMake** âĨ 3.21
- Windows development environment (tested on Windows 10+)
### Build Steps
```bash
git clone --recursive https://github.com/Ljiaooo/SnapVim.git
cd snapvim
mkdir build && cd build
# Configure with Clang as C and C++ compiler
cmake .. -G "Ninja" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
# Build
cmake --build .
```