Функция работает как положено, если hlsearch
перед вызовом не установлена. Похоже, что установка его в функции не имеет никакого эффекта, если она уже установлена. Вы можете обойти это, установив nohlsearch
в вашем отображении:
nnoremap <space> :set nohlsearch\|:call g:TestFunc()<cr>
Если ваша цель состоит в том, чтобы просто выделить определенные шаблоны, и вам не нужно специально использовать hlsearch
механизм, вы можете match
вместо этого изучить использование команды. Это делает то же самое более чисто.