keys.nvim icon indicating copy to clipboard operation
keys.nvim copied to clipboard

A screen keys plugin for neovim.

keys.nvim

A neovim plugin that shows keystrokes. Kind of like screen keys but inside neovim.
WIP, contains bugs.

[!TIP] A better implementation of this plugin can be found at screenkey.nvim by @NStefan002

keys nvim

Installation

use { 'tamton-aquib/keys.nvim' }

Use cmd="KeysToggle" for lazy-loading.

Configuration

  • Default setup function:
require("keys").setup {
    enable_on_startup = false,
    win_opts = {
        width = 25
        -- etc
    },
    -- TODO: more options later
}

Usage

  • KeysToggle command.
  • require("keys").toggle()

Statusline component

This plugin exposes current_keys() function.
To use it in statusline, set the provider as:

require("keys").current_keys(true)
-- `true` implies return it as a string rather than a table

❗ Make sure to set enable_on_startup = true inside setup()

TODO:

  • [ ] Crtl and other modifier keys (maybe?).
  • [ ] Backspace and some other basic ones.
  • [ ] Cleanup.
  • [ ] fix on_key() clear_namespace bug.

Notes to myself

  • autocmd ModeChanged
  • getchar() or getcharmod()