Я сделал небольшую функцию, которая подсвечивает текущее выделение указанным цветом, вызывая функцию matchadd ().Это в сочетании с картой для более удобного использования.
Это прекрасно работает, за исключением того, что он выполняется только в текущем буфере (или это окно?)
Я пытаюсь использовать только bufdo и windoдо вызова в сопоставлении (см. ниже), но я получаю сообщение об ошибке «Неверный адрес».
function! Mymatch(sel)
"reselect and copy selection in unnamed reg
normal gv""y
if a:sel == 1
:call matchadd("MatchYellow",@")
elseif a:sel == 2
:call matchadd("MatchGreen",@")
elseif a:sel == 3
:call matchadd("MatchRed",@")
elseif a:sel == 4
:call matchadd("MatchBlue",@")
elseif a:sel == 5
:call matchadd("MatchPurple",@")
elseif a:sel == 6
:call matchadd("MatchWhite",@")
elseif a:sel == 7
:call matchadd("MatchOrange",@")
elseif a:sel == 8
:call matchadd("MatchPink",@")
elseif a:sel == 9
:call matchadd("MatchCyan",@")
else
:call matchadd("MatchYellow",@")
endif
endfunction
map mm :call Mymatch(v:count)<CR>
, где MatchYellow и т. д. - группы подсветки, которые я определил
, которые я хотел бы получить, это такое же поведение, как * команда.где все совпадения выделены в каждом файле, который я просматриваю