Распечатать вывод функции vim-scripts в текущей строке

Oct 05 2020

Скажем, я хочу распечатать вывод strftime("%D")в текущей строке или распечатать returnлюбую пользовательскую функцию, если на то пошло. Какой стандартный (за один шаг?) Способ сделать это?

В настоящее время я делаю это:, :let @a=strftime("%D")затем "ap(два шага, но их можно комбинировать с отображением).

Ответы

4 JakeGrossman Oct 05 2020 at 01:14

В режиме командной строки, используют :putв сочетании с регистром с выражением "=(вставки после в текущей строке ):

:put =strftime('%d')<CR>

Или в режиме вставки используйте Ctrlr(вставляет перед положением курсора , как если бы он вводился без сокращений или сопоставлений):

<C-r>=strftime('%d')<CR>

Или, в обычном режиме, используйте "=(вставки после в позиции курсора ):

"=strftime('%d')<CR>p

Соответствующая помощь:

:h quote=
:h :put
:h i_CTRL-R
:h quote
:h p