отметка времени vim место в имени файла - PullRequest
2 голосов
/ 12 февраля 2011

Я пытался вставить метку времени в имена файлов внутри vim.Лучший пример, который я нашел, это this .Хотя это работает с меткой времени в файле, оно не работает в командной строке.Вот что я имею в vimrc:

nmap <F3> a<C-R>=strftime("%Y%m%d%H%M")<CR><Esc>
imap <F3> <C-R>=strftime("%Y%m%d%H%M")<CR>

В командной строке я набираю:

:sav i<C-R><F3>.txt

Надеюсь получить:

i201102121400.txt

Вместо этого я получаю:

E15: Invalid Expression: <F3>
E15: Invalid Expression: <F3>

Что я делаю не так?

Кроме того, я использую как Windows, так и Linux, поэтому он должен работать на обоих.

Бонус: Если яможно получить время UTZ вместо местного, это было бы здорово!

1 Ответ

5 голосов
/ 12 февраля 2011

Вам нужно использовать cmap, а не nmap или imap.

добавить ту же строку для настройки F3 в cmap, карта командной строки

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

удалите отображения nmap и imap, если вам действительно не нужны временные метки или вы хотите использовать их внутри буферов редактирования.

...