Вы можете использовать событие CmdlineLeave
.Добавьте следующее к вашему vimrc
augroup RecenterSearch
autocmd!
autocmd CmdlineLeave [/?] call feedkeys('zszH', 't')
augroup END
Примечание: CmdlineLeave
требуется Vim 8.1
Или вы можете отобразить <cr>
:
cnoremap <expr> <cr> "\<cr>" . (getcmdtype() =~ '[?/]' ? "zszH" : '')
Некоторые сопоставлениячто может быть полезно:
nnoremap n nzszH
nnoremap N NzszH
Если у вас нет достаточно новой версии Vim, то, возможно, посмотрите 'wrap'
или создайте отображение
Для получения дополнительной помощи см .:
:h CmdlineLeave
:h :autocmd
:h feedkeys()
:h expression-mapping
:h getcmdtype()