A blazing-fast, modal Neovim-style emoji picker for Omarchy and Hyprland / Wayland desktop environments.
Vimoji combines modal keyboard ergonomics (hjkl, :, a/d, Tab), instant multi-language search (Spanish + English), and seamless zero-delay multi-pasting without closing the window.
- ⌨️ Vim/Neovim Modal Navigation: Full
hjklmovement,a/dcategory tabs,Tabfor favorites, and:for command search mode. - 🔁 Fluid Multi-Pasting: Press
Enterto type the selected emoji repeatedly into your active focused window without closing the menu. - ⚡ Instant Paste & Close: Press
Spaceto insert and immediately dismiss the picker. - 🧠 Smart Multi-Language & Fuzzy Search:
- Search in Spanish or English (
:corazon,:amor,:risa,:fuego,:llorar,:fiesta,:dog,:beer). - Accent Insensitive: Type
:musicaor:música,:corazonor:corazón. - Fuzzy Subsequence Matching: Quick abbreviations like
:smlfind smile 😄,:hrfinds heart ❤️. - Relevance Scoring: Best matches appear under your cursor first.
- Search in Spanish or English (
- 🎯 Cursor Protection: Resting mouse pointer does not hijack your keyboard selection during search or category switching.
- 🌟 Favorites & Recent History: Preserves recent history and personal favorites across desktop sessions in
~/.local/state/omarchy/. - 🎨 Adaptive Theme Integration: Uses Omarchy's active theme accent colors with glowing selection borders and smooth animations.
| Key | Action |
|---|---|
h / j / k / l (or Arrows) |
Move selection (Left / Down / Up / Right) |
a / d |
Previous / Next Category Tab |
: or / |
Enter Search Mode |
Enter |
Multi-Paste emoji into active application (keeps menu open) |
Space |
Paste & Close immediately |
Tab |
Toggle Favorite (⭐) |
y |
Copy emoji to clipboard without typing |
Esc |
Close picker (or clear search) |
| Key | Action |
|---|---|
| Typing text | Real-time smart / fuzzy search query |
Enter |
Select & Insert into target text area |
Space |
Insert space in search term (e.g. :face smile) |
Backspace |
Erase character (exits search mode when empty) |
Esc |
Return to Normal Mode |
- Omarchy with
quickshellshell environment wtypeandwl-copy(sudo pacman -S wtype wl-clipboard)
omarchy plugin add https://github.com/Zezenta/vimoji.git --enablegit clone https://github.com/Zezenta/vimoji.git ~/Desktop/Coding/vimoji
cd ~/Desktop/Coding/vimoji
chmod +x install.sh
./install.shIn your ~/.config/hypr/bindings.conf:
bindd = SUPER, period, Emoji picker, exec, omarchy-shell shell toggle zezenta.vimojiThen reload Omarchy shell:
omarchy-shell shell rescanPlugins && omarchy restart shellmanifest.json: Official Omarchy schemaVersion 1 manifest declaring theoverlayplugin kind.Emojis.qml: Layer-shell interface with dynamic Wayland keyboard focus negotiation (WlrLayershell.keyboardFocus) for zero-delay multi-pasting.EmojiData.js: Unicode 16.0 database (1,906 categorized emojis) + scoring engine & Spanish synonym dictionary.multi-paste.sh: Auxiliary clipboard and input dispatcher usingwtypeandhyprctl dispatch.
MIT License. Copyright (c) 2026 Zezenta.
