EditPad Lite имеет приятную функцию ( CTRL- E, CTRL- I), которая вставляет метку времени, например, «2008-09-11 10:34:53» в ваш код.
Как лучше всего получить эту функциональность в Vim?
(Я использую Vim 6.1 на сервере Linux через SSH. В текущей ситуации некоторые из нас используют общий логин, поэтому я не хочу создавать сокращения в домашнем каталоге, если есть другой встроенный способ получить метку времени. )
:r!date "+\%F \%T"
или:r!date +\%F\ \%T
.Чтобы он работал кроссплатформенным, просто добавьте в свой
vimrc
:Теперь вы можете просто нажать F3 в любой момент внутри Vi / Vim, и вы получите отметку времени, как
2016-01-25 Mo 12:44
вставленную в курсор.Полное описание доступных параметров смотрите в документации C-функции strftime () .
источник
:Date
, добавив следующее в мой~/.vimrc
файл конфигурации:command! Date put =strftime('%Y-%m-%d')
. Дата вставляется в новую строку. не удалось сделать версию без новой строки.command! Date :normal a<C-R>=strftime('%Y-%m-%d')<CR>
Почему все используют
:r!
? Найдите пустую строку и введите ее в!!date
командном режиме. Сохраните нажатие клавиши![nb Это направит текущую строку в стандартный ввод, а затем заменит строку выводом команды; отсюда и часть «найти пустую строку».]
источник
Как расширение ответа @Swaroop CH,
- это более компактная форма, которая также будет печатать часовой пояс (на самом деле отличие от UTC в форме, совместимой с ISO-8601).
Если по какой-то причине вы предпочитаете использовать внешний инструмент,
предоставит вам полную метку времени, совместимую с RFC-3339; используйте
ns
вместо вместоs
для точности, подобной Споку, и прокрутку,tr ' ' T
чтобы использовать заглавную Т вместо пробела между датой и временем.Также вам может быть полезно знать, что
будет читать команды из
somefile.vim
: таким образом, вы можете настроить собственный набор сопоставлений и т. д., а затем загрузить его, когда вы используете vim для этой учетной записи.источник
:put=strftime(""%FT%T%z")
:р! свидание
Затем вы можете добавить формат к команде даты (man date), если вы хотите точно такой же формат, и добавить его также как псевдоним vim
:р! date + "\% Y - \% m - \% d \% H: \% M: \% S"
Это создает формат, который вы показали в своем примере (дата в оболочке не использует \%, а просто%, vim заменяет% именем текущего файла, поэтому вам нужно его избежать).
Вы можете добавить карту в свой .vimrc, чтобы она автоматически помещала команду, например, каждый раз, когда вы нажимаете F3:
(Отредактировал сверху :)) (Изменить: изменить текстовую часть на код, чтобы
может отображаться)
источник
Для метки времени unix:
Вы также можете сопоставить эту команду с ключом (например, F12) в VIM, если вы часто ее используете:
Поместите это в свой .vimrc:
источник
Из Vim Wikia .
Я использую это вместо того, чтобы двигать рукой, чтобы нажать клавишу F:
Теперь в режиме вставки он просто набирает tds, и как только я нажимаю пробел или возвращаюсь, я получаю дату и продолжаю печатать.
Я вставил
%b
туда, потому что мне нравится видеть название месяца. Это%F
дает мне что-то для сортировки по дате. Я могу изменить это на,%Y%m%d
чтобы между единицами не было символов.источник
Unix, используйте:
Windows, используйте:
Подробнее: см. Insert_current_date_or_time
источник
Еще один быстрый способ, не включенный в предыдущие ответы: введите-
!!свидание
источник
Я хотел индивидуальную команду
:Date
(а не сопоставление клавиш) для вставки даты в текущую позицию курсора.К сожалению, простые команды, например,
r!date
приводят к новой строке. В итоге я пришел к следующему:который добавляет строку даты / времени в позицию курсора без добавления новой строки (измените, чтобы
normal a
добавить после позиции курсора).источник