this post was submitted on 25 Jul 2024
16 points (94.4% liked)

Neovim

2157 readers
1 users here now

founded 1 year ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 2 points 1 month ago (1 children)

Here's what I do. Any search key will turn hlsearch on and 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"))