oneko.nvim brings the oneko cat into Neovim.
- 8-Directional Movement: Smooth running animations for Movements.
- Cursor & Typing Tracking: Follows your active cursor.
- Smart Typing Offset: Stays at a comfortable distance on the side when you type so your code is never hidden.
- Idle States: Alert, sit, scratch, yawn, sleep, and wake.
- Lightweight: Pure Lua, zero dependencies.
{
"diggingforce/oneko.nvim",
event="VeryLazy",
opts= {
style="pixel",
skin="white",
speed=1.5,
},
keys= {
{ "<leader>ok", "<cmd>OnekoToggle<cr>", desc="Toggle Oneko Cat" },
{ "<leader>op", "<cmd>OnekoPet<cr>", desc="Pet Oneko Cat" },
},
}require("oneko").setup({
fps=20, -- Animation frame rate (ticks per second)speed=1.5, -- Movement speed follow_distance=6, -- Resting stop distance from cursortyping_distance=14, -- Extra offset distance during typingstyle="pixel", -- "pixel" | "block" | "classic" | "kaomoji" | "compact"skin="white", -- "white" | "black" | "orange" | "pink" | "calico" | "cyan" | "green"follow="cursor", -- Target to follow ("cursor")idle_timeout=2500, -- Time before yawning (in ms)sleep_timeout=8000, -- Time before falling asleep (in ms)scratch_chance=0.45, -- Probability of scratch animationyawn_chance=0.35, -- Probability of yawn animationtyping_frenzy=true, -- Trigger excited animation on fast typingtyping_threshold=4, -- Characters per second to trigger frenzyemotes_enabled=true, -- Show speech bubblesemote_duration=2500, -- Default bubble duration (in ms)zindex=150, -- Floating window z-indexsound=false, -- Terminal bell on alerthighlights= { -- Custom highlight overrides (optional)OnekoNormal= { link="Normal" },
OnekoCat= { fg="#ffffff", bold=true },
OnekoEmote= { fg="#ffffff", bold=true, italic=true },
OnekoHeart= { fg="#ffffff", bold=true },
OnekoZzz= { fg="#ffffff", italic=true },
OnekoAlert= { fg="#ffffff", bold=true },
},
}):OnekoStart— Start the Oneko companion:OnekoStop— Stop and hide Oneko:OnekoToggle— Toggle Oneko on / off:OnekoPet— Pet your cat (hearts & purring):OnekoEmote <text>— Display a speech bubble or preset (nya,heart,coffee,bug, etc.):OnekoSkin <name>— Change cat skin (white,black,orange,pink,calico,cyan,green):OnekoStyle <name>— Change cat visual style (pixel,block,classic,kaomoji,compact):OnekoSpeed <num>— Change movement speed:OnekoStatus— Show current status, coordinates, state, and active style
And that's all!
