当前位置:  开发笔记 > 运维 > 正文

在Vim中插入时间戳的最佳方法?

如何解决《在Vim中插入时间戳的最佳方法?》经验,为你挑选了6个好方法。

EditPad Lite有一个很好的功能(CTRL- E,CTRL- I),它会在您的代码中插入时间戳,例如"2008-09-11 10:34:53".

在Vim中获得此功能的最佳方法是什么?

(我在Linux服务器上通过SSH使用Vim 6.1.在目前的情况下,我们中的许多人共享登录,所以如果有另一种内置方式来获取时间戳,我不想在主目录中创建缩写. )



1> Swaroop C H..:

要使其跨平台工作,只需将以下内容放入您的vimrc:

nmap  i=strftime("%Y-%m-%d %a %I:%M %p")
imap  =strftime("%Y-%m-%d %a %I:%M %p")

现在你可以随时在Vi/Vim内按F3,你会得到一个像2016-01-25 Mo 12:44光标插入的时间戳.

有关可用参数的完整说明,请查看C函数strftime()的文档.



2> Daren Thomas..:

http://kenno.wordpress.com/2006/08/03/vim-tip-insert-time-stamp/

试了一下,它适用于我的mac:

:r! date

生产:

Thu Sep 11 10:47:30 CEST 2008

这个:

:r! date "+\%Y-\%m-\%d \%H:\%M:\%S"

生产:

2008-09-11 10:50:56


完全有效.写它的其他方法是`:r!date"+ \%F \%T"`或`:r!date + \%F\\%T`.

3> luser droog..:

为什么每个人都在使用:r!?找到一个空行并!!date从命令模式键入.保存按键!

[nb这会将当前行传递给stdin,然后用命令输出替换该行; 因此"找到一条空白"部分.]



4> intuited..:

作为@Swaroop CH答案的延伸,

^R=strftime("%FT%T%z")

是一种更紧凑的形式,也将打印时区(实际上与UTC的差异,符合ISO-8601标准).

如果您出于某种原因更喜欢使用外部工具,

:r !date --rfc-3339=s

将为您提供完整的RFC-3339兼容时间戳; 使用ns而不是s类似Spock的精度,并通过管道tr ' ' T来使用大写T而不是日期和时间之间的空格.

您也可能会发现知道它很有用

:source somefile.vim

将从以下命令读入命令somefile.vim:这样您可以设置一组自定义映射等,然后在该帐户上使用vim时加载它.



5> Vinko Vrsalo..:

,R!日期

然后,如果您想要完全相同的格式,可以将格式添加到date命令(man date),并将其添加为vim别名

,R!日期+"\%Y - \%m - \%d \%H:\%M:\%S"

这会生成您在示例中显示的格式(shell中的日期不使用\%,但只是%,vim将%替换为当前文件的名称,因此您需要将其转义).

您可以在.vimrc中添加一个地图,以便它自动放置命令,例如,每次按F3时:

:map  :r! date +"\%Y-\%m-\%d \%H:\%M:\%S"

(从上面编辑:))(编辑:将文本部分更改为代码,以便

 

可以显示)



6> Luc Hermitte..:

请查看专用于vim.wikia上的时间戳插入/更新的提示.

推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有