Я пытаюсь заставить "dts" отображать текущее местное время в vim (cygwin под Windows 7), на выходе получается GMT + 1 вместо местного времени (GMT-7). Моя аббревиатура отлично работает на других машинах, но я не могу заставить ее работать на этой.
Аббревиатура:
dts <expr> strftime("%m.%d.%Y %H:%M:%S")
Result: 3/27/2012 9:53:03 PM
В командной строке cygwin для TZ установлено America / Los_Angeles, а date
команда выводит правильное время. Только когда я пытаюсь использовать strftime () под gvim, временная метка неверна. Я попытался добавить% z, чтобы увидеть смещение по Гринвичу, но результаты еще более сбивают с толку:
:iab qwe strftime("%c (%z)")
Result: 3/27/2012 9:53:03 PM (ric)
Я не смог понять, что означает «рик».
Я видел это также с gvim 7.3.46 и cygwin 1.7.13.
Я заметил, что у меня не было этой проблемы с gvim 7.3.46 и cygwin 1.7.9.
Я также заметил, что вывод date
в каждом случае была разной:
(cygwin 1.7.9) Sun Apr 29 23:25:04 EDT 2012
(cygwin 1.7.13) Sun, Apr 29, 2012 11:25:09 PM
Интересно, если дополнение из tzset
в 1.7.10
как-то с этим связано.