It’s broader than a Neovim specific mapping, I’ve changed the system keyboard mapping of <Caps Lock> to <Esc> and <F9> to <Caps Lock>.

I think mapping <Caps Lock> to <Esc> isn’t uncommon for Neovim users. But I like having <Caps Lock> available for non Neovim purposes.

  • dm319@feddit.uk
    link
    fedilink
    English
    arrow-up
    4
    ·
    4 months ago

    Yes, I also have caps mapped to esc, but done in keyboard firmware so that holding it functions as ctrl.

    In neovim I have two escapes mapped to :noh

    • dm319@feddit.uk
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      4 months ago

      Just to clarify - means two taps of the esc key in succession will clear highlighting (ps I’m curious how other people do it!).

      nmap <esc><esc> :noh<return>

      • sik0fewl
        link
        fedilink
        arrow-up
        2
        ·
        2 months ago

        Here’s what I do. Any search key will turn hlsearch on and <Esc> will turn it off.

        vim.on_key(function(char)
          if vim.fn.mode() == "n" then
            local new_hlsearch = vim.tbl_contains({ "<CR>", "n", "N", "*", "#", "?", "/" }, vim.fn.keytrans(char))
            local esc = vim.tbl_contains({ "<Esc>" }, vim.fn.keytrans(char))
        
            if new_hlsearch then
              vim.opt.hlsearch = true
            elseif esc then
              vim.opt.hlsearch = false
            end
          end
        end, vim.api.nvim_create_namespace("auto_hlsearch"))