Ну, я не уверен, будет ли это правильно работать в Linux или нет, но я верю в это (я на Mac).
Идея состоит в том, что вы можете использовать утилиту date
, чтобы получить время с большей гибкостью. Он принимает опцию -u
, которая выводит время в UTC. Все, что вам нужно, - это обернуть это в system()
вызов.
cmap <F3> <C-R>=system('date -u "+%Y%m%d%H%M"')<CR>
И там у вас есть отформатированное время UTC.
Если нулевой символ появляется в конце вставленного времени (он выглядит как ^@
), то вы можете добавить [:-2]
, чтобы убрать его из возвращаемой строки, прямо перед <CR>
в отображении выше. Это происходит из переведенной новой строки, выводимой системой. Чек :h NL-used-for-Nul
.
Насчет окон, ну я понятия не имею. Возможно, вы захотите попробовать утилиту в Linux перед сопоставлением, но я почти уверен, что различий не будет.