在替代中使用vim的printf

蒸了

我正在尝试从m / d / yyyy 2016/7/1转换日期格式

每行一次发生到YYYY-mm-dd 00:00:00

我的搜索和参数部分正常工作,可以交换订单等,

但是我想使用vim的printf做到这一点,并提出了以下建议...

%s/\(\d\+\)\/\(\d\+\)\/\(\d\+\)/\=printf('%d-%02d-%02d 00:00:00', \3, \1, \2)/

我知道了

E15: Invalid expression: \3, \1, \2)
E116: Invalid arguments for function printf('%d-%02d-%02d 00:00:00', \3, \1, \2)

有任何想法吗?

Meninx

您需要使用submatch()功能:

:%s/\(\d\+\)\/\(\d\+\)\/\(\d\+\)/\=printf('%d-%02d-%02d 00:00:00', submatch(3),
submatch(1), submatch(2))/

:help submatch()
submatch({nr}[, {list}])                                submatch()
                Only for an expression in a :substitute command or
                substitute() function.
                Returns the {nr}'th submatch of the matched text.  When {nr}
                is 0 the whole matched text is returned.
                Note that a NL in the string can stand for a line break of a
                multi-line match or a NUL character in the text.
                Also see sub-replace-expression.(...)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在printf中使用%p吗?

来自分类Dev

在C中使用printf打印空格数

来自分类Dev

Vim在替代命令中使用感叹号是什么

来自分类Dev

在PHP中使用if语句的替代查询

来自分类Dev

在printf中使用`operator const char *`

来自分类Dev

替代在R中使用表格?

来自分类Dev

在awk中使用printf取整

来自分类Dev

在/ bin / bash中使用的printf

来自分类Dev

在sed替代中使用命令

来自分类Dev

在printf(“%。* s”)中使用指针的不同

来自分类Dev

在sed替代中使用命令

来自分类Dev

Vim中NERDTree的替代

来自分类Dev

在ctrlp + vim中使用AG

来自分类Dev

PHP 5.3.2替代在匿名函数中使用$ this?

来自分类Dev

在SQL中使用游标/循环的替代方法

来自分类Dev

在printf中使用%p吗?

来自分类Dev

在Tkinter中使用全局参数的替代方法

来自分类Dev

在字符串中使用printf

来自分类Dev

如何在项目中使用Printf

来自分类Dev

在scanf和printf中使用%

来自分类Dev

在bash中使用printf转义连字符(-)

来自分类Dev

现在在我的输出中使用printf

来自分类Dev

VIm:使用替代命令

来自分类Dev

在printf中使用。*

来自分类Dev

在printf中使用`operator const char *`

来自分类Dev

在printf中使用破折号

来自分类Dev

在awk中使用printf取整

来自分类Dev

在/ bin / bash中使用的printf

来自分类Dev

在Vim中使用.netrc文件(作为DreamWeavers FTP客户端的替代方法)