Когда ведешь записи в текстовом блоге, редактор который может проставить в тексте время и дату, экономит чертовски много сил. Особенно странному зверьку вроде вашего покорного слуги, который (а) терпеть не может писать дату и время вручную (б) считатет, что хорошее и правильное датирование удваивает ценность записей. См.
Самонаводящиеся Заметки.
Польза от таких таймстампов не только в том, что они позволяют привязать заметку к конкретной дате, но и в том, что они (у меня во всяком случае) могут служить уникальными номерами для заметок и дисков, позволяя сортировать их по дате и находить нужный конкретный диск. Такая нумерация намного точнее и информативнее, чем простые номера, плюс, как это ни странно, не требует "включать голову".
Если вы нумеруете диски или папки с фотографиями dvd1, dvd2, ... то на шаге N непременно задумаетесь - вам ставить N, N-1 или N+1? (особенно, если диск записывается где-нибудь далеко от дома и N предыдущих дисков). С датами такой проблемы нет dvd20090124, dvd20090125 - а если они идут более часто - всегда можно кроме даты подключить время, или нумеровать диски в пределах одного дня dvd20090124_1, dvd20090124_2, dvd20090124_3, ...
Формат даты - видимо дело личных предпочтений. Я исхожу из прагматичных соображений - если писать даты как год-месяц-день (2009-01-24 или 20090124), то пронумерованные так файлы (или директории, или заметки, или текстовые поля) выстраиваются по времени сами собой - достаточно рассортировать их список по алфавиту. С подачи WinOrganizer'а я привык к таймстампам год-месяц-день часы:минуты и в других редакторах перестраивал их точно так же.
В Vim таймстампы я реализовал с помощью аббревиатур.
В моем vimrc вписаны следующие функции:
iab Втс =strftime("%H:%M")
iab Вдс =strftime("%Y-%m-%d")
iab Вдтс =strftime("%Y-%m-%d %H:%M")
iab Бдтс =strftime("д %Y-%m-%d %H:%M")
если я набираю одну из аббревиатур - она автоматически заменяется на текущее время в нужном формате:
Втс (Вставить тайм-стамп)
15:48
Вдс (Вставить дата-стамп)
2009-01-24
Вдтс (Вставить дата-тайм-стамп)
2009-01-24 15:48
Бдтс (Блоговый Дата-Тайм-Стамп - для записей в дневнике)
д 2009-01-24 15:48
Все таймстампы всегда подсвечиваются - у меня есть отдельный файлик синтаксиса blog.vim, где в числе прочих прописана подсветка и для таймстампов:
syntax clear
syntax sync fromstart
...
" подсветка Втс
highlight Timestamp term=bold ctermfg=4 guifg=#80a0ff
syn match Timestamp /[0-2][0-9][:][0-5][0-9]/
" подсветка Вдс
highlight Timestamp2 term=bold ctermfg=4 guifg=#80a0ff
syn match Timestamp2 /[12][90][0-9][0-9]-[0-1][0-9]-[0-3][0-9]/ nextgroup=Timestamp skipwhite
" Вдтс подсвечивается само - Вдс+Втс
" подсветка Бдтс
highlight MyBlogTimestamp term=bold ctermfg=4 guifg=#80a0ff
syn match MyBlogTimestamp /^д\s.*$/ contains=ALL
Так оно выглядит в электронном формате. Что касается бумаги... раньше я в записных книжках ставил даты в том же формате, пока, в GitS:SAC не подсмотрел "военную форму записи" - где время просто пишется четырьмя цифрами без разделителей - что хорошо читается и легко пишется: 1200, 2130 и так далее. Эта привычка началась с бумаги, потом распространилась на даты (20090124) и сейчас плавно перетекла в электронную форму - если я набираю время/дату вручную, то чаще всего это выглядит именно так.
Есть еще одна проблема. Я терпеть не могу держать в голове что сейчас за день (месяц, год), но она легко решаема - электронные часы с календарем и доведенный до автоматизма рефлекс - перед тем как что-то писать - независимо от того это запись на клочке бумаги, в записной книжке или список студентов - нажать кнопку и записать цифры на бумагу. Голову включать (точнее отвлекать от мыслей, которыми она занята) совсем не требуется. Дома это дополняется часиками
BetaClock в трее, которые крупными цифрами показывают не только время, но и дату с днем недели. Но бумага (например, как нумеровать страницы в записной книжке, если терпеть не можешь этого делать) - это отдельный разговор.
Раз уж речь зашла о подсветке, то, чтобы дважды на этом не останавливаться - вот подсветка для всего остального.
" добавляю подсветку для плейнтекста
match Comment /{.\+}/
syntax clear
syntax sync fromstart
" подсвечивает желтым крылатые =тэги=
highlight BlogTag term=bold ctermfg=4 guifg=#D2D200
syn match BlogTag /[=][^ ]\{,20}[=]/ contains=Oye
" подсвечивает темно-зеленым мои комментарии в разных вариантах
" комментарии вида //
highlight meComment term=bold ctermfg=6 guifg=darkgreen
syn region meComment start=/[^:/]\/\// end=/$/
highlight meComment2 guifg=darkgreen
syn region meComment start=/^\/\// end=/$/
" комментарии вида { }
highlight meComment3 guifg=darkgreen
syn region meComment start=/ {/ end=/}/
highlight meComment4 guifg=darkgreen
syn region meComment start=/^{/ end=/}/
" комментарии вида /* */
syn region meComment start=/\/\*/ end=/\*\//
" подсвечивает оранжевым цветом заголовки разделов
highlight meHeader term=bold ctermfg=6 guifg=Orange
syn region meHeader start=/^\~/ end=/$/
" выделяет красным цветом важные места - я их отмечаю
" двумя восклицательными знаками в начале строки
highlight NB term=bold ctermfg=6 guifg=Red
syn match NB /^!! .\+$/
" выделяет голубым цветом цитаты и квотинг - я их отмечаю
" знаком > в начале строки
highlight Citer term=bold ctermfg=6 guifg=#62EDF0
syn region Citer start=/^>/ end=/$/
" подсветка Втс
highlight Timestamp term=bold ctermfg=4 guifg=#80a0ff
syn match Timestamp /[0-2][0-9][:][0-5][0-9]/
" подсветка Вдс
highlight Timestamp2 term=bold ctermfg=4 guifg=#80a0ff
syn match Timestamp2 /[12][90][0-9][0-9]-[0-1][0-9]-[0-3][0-9]/ nextgroup=Timestamp skipwhite
" Вдтс подсвечивается само - Вдс+Втс
" подсветка Бдтс
highlight MyBlogTimestamp term=bold ctermfg=4 guifg=#80a0ff
syn match MyBlogTimestamp /^д\s.*$/ contains=ALL
Раньше такая подсветка включалась через vimrc или по хоткею. Сейчас у меня просто в самом начлале каждого блога есть моделайн - строка вида:
//моделайн: vim: syntax=blog:
Вим подхватывает ее, определяет тип подсветки через эту строчку и включает подсветку автоматически. Так что все работает само и без моего участия :)