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 cursor
typing_distance = 14, -- Extra offset distance during typing
style = "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 animation
yawn_chance = 0.35, -- Probability of yawn animation
typing_frenzy = true, -- Trigger excited animation on fast typing
typing_threshold = 4, -- Characters per second to trigger frenzy
emotes_enabled = true, -- Show speech bubbles
emote_duration = 2500, -- Default bubble duration (in ms)
zindex = 150, -- Floating window z-index
sound = false, -- Terminal bell on alert
highlights = { -- 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!
