Как я могу сохранить имя файла с временем UTC в vim? - PullRequest
2 голосов
/ 21 апреля 2011

Я пытаюсь сохранить имя файла, которое включает дату и время.Тем не менее, я хотел бы, чтобы дата и время были в UTC.Вот что я делаю:

В vimrc:

cmap <F3> <C-R>=strftime("%Y%m%d%H%M")<CR>

Я набираю это при сохранении файла:

:w i<F3>.txt

и получаю файл, которыйимени:

i[localtime].txt

но я хочу:

i[UTCtime].txt

Есть ли способ сделать это на самом деле, или я застрял на своем местном времени навсегда?Vim - мой единственный способ исследовать различные часовые пояса, пожалуйста, помогите мне.:)

Да, кстати, я буду использовать для этого и Linux, и Windows.

1 Ответ

1 голос
/ 22 апреля 2011

Ну, я не уверен, будет ли это правильно работать в 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 перед сопоставлением, но я почти уверен, что различий не будет.

...