A Neovim plugin that shakes your screen and plays BGM while you code.
Type to build combos — the higher your combo level, the stronger the shake and visual effects.
demo_with_bgm.mp4
- Screen Shake — screen shakes on typing, intensity scales with combo level
- Combo System — consecutive keystrokes build a combo counter with level-ups
- Visual Effects — cursor line flash with color shifts
- BGM — plays background music on insert mode enter, stops on leave
{
'woohongseok/aura.nvim',
event = 'InsertEnter',
config = function()
require('aura').setup({
audio = {
bgm_path = '~/music/aura.mp3',
volume = 50,
},
})
end,
}use {
'woohongseok/aura.nvim',
config = function()
require('aura').setup()
end,
}require('aura').setup({
enabled = true,
shake = {
enabled = true,
intensity = 1,
},
effects = {
enabled = true,
flash = true,
combo_display = true,
},
audio = {
enabled = true,
bgm_path = nil,
bgm_dir = nil,
volume = 50,
},
combo = {
timeout = 1500,
threshold = 3,
max_level = 5,
},
})| Command | Description |
|---|---|
:AuraToggle |
Toggle all effects on/off |
:AuraShake |
Toggle screen shake on/off |
:AuraBgm |
Toggle BGM on/off |
:AuraBgmPlay |
Manually start BGM |
:AuraBgmStop |
Manually stop BGM |
One of the following audio players is required for BGM:
- afplay — macOS built-in
- mpv — cross-platform, recommended for Linux
- ffplay — included with FFmpeg
- paplay — PulseAudio (Linux)
# macOS
brew install mpv
# Ubuntu/Debian
sudo apt install mpv