Регистр выражений, "=
, позволит вам оценить выражение и вставить / вставить вывод. Использование <c-r>
в командной строке вставит содержимое из регистра.
:Ack pat <c-r>=expand('%:p:h')<cr>
Для получения дополнительной информации см.
:h "=
:h i_CTRL-R
Использование :grep
вместо :Ack
Вы можете установить 'grepprg'
на использование поисковика серебра или другого инструмента, похожего на grep, например, ripgrep.
set grepprg=ag\ --vimgrep\ $*
set grepformat=%f:%l:%c:%m
:grep
понимает %
и :h
в качестве параметров. Это означает, что вы можете сделать:
:grep pat %:h
Для получения дополнительной помощи см .:
:h 'grepprg'
:h :grep