An eye candy keystroke screencaster for Neovim with built in theme presets and granular cell styling.
Note: This is an extended fork of nvzone/showkeys featuring a zero-boilerplate theming engine, community colorways, and automatic
ColorSchemehighlight synchronization.
- Curated Theme Presets: Built-in support for
tokyonight,catppuccin,gruvbox,nord,rose-pine,kanagawa,carbonfox, anddracula. - Automatic Theme Detection (
theme = "auto"): Automatically matchesvim.g.colors_nameor dynamically derives colors from active Neovim highlight groups. - Granular Cell Styling: Customize
active,inactive,window, andborderstyles with full#RRGGBBhex control. - Self-Managing Highlights: Built-in
ColorSchemeevent listeners ensure custom colors persist across colorscheme reloads without manual autocmds.
:ShowkeysToggle— Toggles key screencasting on or off.:ShowkeysOpen— Opens and starts the screencaster.:ShowkeysClose— Closes and stops the screencaster.
Using lazy.nvim:
{
"frtzhahn/showkeys",
event = "VimEnter",
opts = {
autostart = true, -- opens automatically on startup
timeout = 1,
maxkeys = 3,
position = "top-right",
show_count = true,
theme = "carbonfox", -- "auto", "tokyonight", "catppuccin", "gruvbox", "nord", "rose-pine", "kanagawa", "dracula", "carbonfox"
},
}{
"frtzhahn/showkeys",
opts = {
-- Lifecycle control
autostart = true, -- true = automatically open on startup, false = open on-demand
timeout = 1, -- time (in seconds) before keys fade away
maxkeys = 3, -- maximum number of visible keys in history
position = "top-right", -- "top-left", "top-right", "top-center", "bottom-left", "bottom-right", "bottom-center"
show_count = true, -- display repeat count for identical consecutive keys
-- Theming & Styling
theme = "tokyonight", -- "auto", "tokyonight", "catppuccin", "gruvbox", "nord", "rose-pine", "kanagawa", "dracula", "carbonfox"
-- (Optional) Granular cell overrides
style = {
active = { fg = "#ffffff", bg = "#ff6b81", bold = true },
inactive = { fg = "#c0c0c0", bg = "#383838" },
border = { fg = "#3b3b3b" },
window = { bg = "#1e1e1e", fg = "#dcdcdc" },
},
},
}Original plugin developed by siduck / nvzone. If you like the base project, please consider supporting the original author: