GitHunt
IT

itsjunetime/duck.nvim

A duck that waddles arbitrarily in neovim.

duck.nvim

A duck that waddles between your codes

Peek 2021-11-18 15-43

Coding? release the duck.

bored? release the duck.

not bored? release the duck.

Install and Configure

{
    'tamton-aquib/duck.nvim',
    config = function()
        vim.keymap.set('n', '<leader>dd', function() require("duck").hatch() end, {})
        vim.keymap.set('n', '<leader>dk', function() require("duck").cook() end, {})
        vim.keymap.set('n', '<leader>da', function() require("duck").cook_all() end, {})
    end
}

To set custom character:

nnoremap <leader>dd :lua require("duck").hatch("เถž")<CR>

popular candidates: ๐Ÿฆ† เถž ๐Ÿฆ€ ๐Ÿˆ ๐ŸŽ ๐Ÿฆ– ๐Ÿค

You can also specify how fast a duck moves (measured in steps per second):

vim.keymap.set('n', '<leader>dd', function() require("duck").hatch("๐Ÿฆ†", 10) end, {}) -- A pretty fast duck
vim.keymap.set('n', '<leader>dc', function() require("duck").hatch("๐Ÿˆ", 0.75) end, {}) -- Quite a mellow cat

Features

  • can release multiple ducks.
  • does not load on startup.
  • Light weight, <100 LOC
  • Its a duck

Languages

Lua100.0%

Contributors

MIT License
Created April 11, 2025
Updated August 25, 2025