Ваша система (или по крайней мере что версия даты), вероятно, использует 32-разрядную внутреннюю временную стоимость.
Эпоха Unix (нулевая временная стоимость) 01.01.1970 0:00:00 UTC. Эта начальная точка помещает 13.12.1901 0:00 EST недалеко от диапазона 32-разрядной временной стоимости со знаком.
14.12.1901 0:00:00 EST-2147454000
13.12.1901 15:45:52 EST-2147483648 (иначе INT_MIN
в C, минимальном 32-разрядном целом числе со знаком)
13.12.1901 0:00:00 EST-2147540400
Вы могли попытаться использовать 13.12.1901 15:45:52 EST. Это должно работать, но одной секундой ранее, вероятно, перестанет работать таким же образом как 13.12.1901 0:00.
Я не уверен, почему Ваша версия не работает, но я могу сделать это использование call
опция и помещение настроек в функции как это:
set tabstop=4
set softtabstop=4
set shiftwidth=4
function! setAltPrefs()
set tabstop=2
set softtabstop=2
set shiftwidth=2
endfunction
autocmd FileType xml,html,xhtml,javascript call setAltPrefs()
Это должно быть запущено любое время, файл загружается в буфер или изменения типа файла. Единственная выгода была бы то, при изменении буфера от одного из пользовательских типов назад к тому, который должен просто быть значениями по умолчанию. В этом случае ничто не изменится. Необходимо было бы установить другую функцию для включения на всем протяжении типов файлов, если необходимо покрыть тот вариант использования.