README.md

May 26, 2026 ยท View on GitHub

nerdy.nvim

License People Stars Forks Watches Last Updated

Find Nerd Glyphs Easily ๐Ÿค“๐Ÿ”ญ

nerdy.nvim in action
nerdy.nvim in action

Do you like Nerd fonts? but don't like going over to their site to fetch a glyph for your pretty terminal? Well, me too!

Introducing nerdy.nvim, a super handy plugin that lets you search, preview and insert all nerd font glyphs straight from Neovim!

โœจ Features

  • Fuzzy search and insert nerd glyphs, by name and unicode
  • Find and insert icons you use frequently
  • Programmatic access to nerd glyphs by name for use in your configs
  • Auto fetch latest icons list from official sources

Setup

โšก Requirements

  • You have installed the latest version of neovim
  • snacks.nvim picker โ€” for prettier select UI and multi select (optional, recommended)

๐Ÿš€ Installation

-- Lazy
{
    '2kabhishek/nerdy.nvim',
    dependencies = {
        'folke/snacks.nvim',
    },
    cmd = 'Nerdy',
    opts = {
        max_recents = 30, -- Configure recent icons limit
        copy_to_clipboard = false, -- Copy glyph to clipboard instead of inserting
        copy_register = '+', -- Register to use for copying (if `copy_to_clipboard` is true)
    },
    keys = {
        { '<leader>in', '<cmd>Nerdy list<CR>', desc = "Browse nerd icons" },
        { '<leader>iN', '<cmd>Nerdy recents<CR>', desc = "Browse recent nerd icons" },
    },
},

๐Ÿ’ป Usage

๐Ÿš€ Commands

Available Commands:

  • :Nerdy - Browse all nerd font icons (default behavior)
  • :Nerdy list - Browse all nerd font icons (explicit)
  • :Nerdy recents - Browse recently used icons
  • :Nerdy get <icon_name> - Insert specific icon by name

Use :help nerdy for more details.

โœ… Multi Select

Multi-select Support: When using with snacks.nvim picker, you can select multiple glyphs at once:

  • Use <Tab> to select/deselect individual glyphs
  • Use <Ctrl-a> to select all glyphs on a filtered list
  • Use <Enter> to confirm your selection

โŒจ๏ธ Keybindings

By default, these are the configured keybindings.

KeybindingCommandDescription
<leader>in:Nerdy list<CR> or :Nerdy<CR>Browser nerd icons
<leader>iN:Nerdy recents<CR>Browser recent nerd icons

I recommend customizing these keybindings based on your preferences using the keys config in lazy.

Use :help nerdy for more details.

๐Ÿ”ญ Telescope Extension

Nerdy also comes with a Telescope extension, to use it add the following to your telescope configs.

require('telescope').load_extension('nerdy')

And then call

:Telescope nerdy
:Telescope nerdy_recents
" or
:lua require('telescope').extensions.nerdy.nerdy()
:lua require('telescope').extensions.nerdy.nerdy_recents()

๐Ÿ“ Get Icons by Name Programmatically

You can also get nerd font icons programmatically using the nerdy.get() function:

local nerdy = require('nerdy')

-- Get a specific icon by name
local lua = nerdy.get('seti-lua')              -- Returns '๎˜ '

-- Handle cases where icon doesn't exist
local unknown_icon = nerdy.get('non-existent') -- Returns '' and shows warning

-- Use in your own functions
local function get_language_icon(language)
    local icon_name = 'md-language_' .. language
    return nerdy.get(icon_name)
end

Recent icons are not tracked when fetching icons programmatically.

๐Ÿ’ก This is useful when configuring Neovim status lines, file trees, or any plugin that needs consistent nerd font icons without hard coding unicode characters.

๐Ÿ”„ Fetch New Icons

Running the python scripts/generator.py command will automatically fetch new icons from source and update the icons.

Behind The Code

๐ŸŒˆ Inspiration

I love nerd font glyphs, and I use them anywhere I can! but I was wasting a lot of time going back and forth between nerd font site and neovim, also the copy feature was super buggy for me on the site, so I made nerdy!

๐Ÿ’ก Challenges/Learnings

  • Making the generated icon table with vim.ui.select was a bit tricky.

๐Ÿงฐ Tooling

  • dots2k โ€” Dev Environment
  • nvim2k โ€” Personalized Editor

๐Ÿ” More Info


โญ hit the star button if you found this useful โญ

Source | Blog | Twitter | LinkedIn | More Links | Other Projects