在 Vim 中进行搜索后,所有出现的内容都会被高亮显示。如何关闭这个功能?我现在搜索一些无意义的内容以使其取消高亮显示。
是否有一种方法可以暂时禁用高亮显示,并在需要时重新启用它?
是否有一种方法可以暂时禁用高亮显示,并在需要时重新启用它?
然后你可以随时按 Ctrl+N 来清除高亮文本。nmap
<C-N>
:nohlsearch
command! H let @/=""
当你进行搜索并想要清除搜索结果的高亮时,只需执行:H
命令。-- Clear search highlight
vim.on_key(
function(char)
if vim.fn.mode() == "n" then
-- ignore these literal keys
local new_hlsearch = vim.tbl_contains({
"", "", "", "", -- literal <C-u>, <C-d>, <C-f>, <C-b> (e.g. ctrl+v, ctrl+u)
"H", "L",
"z", "v", "t", "m", "b",
"n", "N",
"*", "?", "/",
"<ScrollWheelUp>", "<ScrollWheelDown>",
}, vim.fn.keytrans(char))
if vim.opt.hlsearch:get() ~= new_hlsearch then
vim.opt.hlsearch = new_hlsearch
end
end
end,
vim.api.nvim_create_namespace "auto_hlsearch"
)
nnoremap <esc> :noh<return><esc>
在 GUI Vim 中能够很好地解决问题,但是在终端中运行 Vim 时,会导致箭头键和其他 ESC 编码键出现问题。如果不在~/.vimrc
中加入if has('gui_running')
...end
的包装,请勿将其放入其中。 - jbyler