Skip to content

Latest commit

 

History

History
58 lines (41 loc) · 1.65 KB

README.md

File metadata and controls

58 lines (41 loc) · 1.65 KB

capslock.nvim

Software caps lock for Neovim.

Works in normal, insert and command modes. Normal mode commands, other buffers, and other applications are unaffected (e.g. jk mapped as Escape in insert mode will work with caps lock enabled). Especially useful if caps lock key is acting as another Ctrl or Esc.

Installation

Neovim 0.7.0+ required. Example via packer:

use("barklan/capslock.nvim")

Setup & Usage

require("capslock").setup()
vim.keymap.set({ "i", "c", "n" }, "<C-g>c", "<Plug>CapsLockToggle")
vim.keymap.set("i", "<C-l>", "<Plug>CapsLockToggle")

This maps <C-g>c in insert, command and normal modes and <C-l> in insert mode to toggle caps lock.

  • When activated in insert or command mode it toggles temporary caps lock. It is automatically disabled after leaving insert mode or command line.
  • When activated in normal mode, it toggles caps lock for both normal and insert modes and doesn't turn off automatically.

Statusline integration

Use require("capslock").status_string function as a status line component to display [CAPS LOCK] when caps lock is active.

lualine

require("lualine").setup({
    sections = {
        lualine_x = {
            { require("capslock").status_string },
        },
    },
})

feline

Set the function above as a provider in status line component.

Related