我想在文件的某些位置插入文件名和行号。例如,这一行:
_debug('init');
我想替换
:s/debug('/debug('(%current_filename_here%:%current_line_number_here%)\ /g
得到这个
_debug('(filename.ext:88) init');
我尝试使用expand('%:t'
)获取文件名和行("."
)来获取行号,但我不知道如何在替换表达式中使用它。
我该怎么做?
答案 0 :(得分:8)
您可以使用\=
。例如:
:s@_debug('\zs@\=printf('(%s:%d) ', expand('%:t'), line('.'))@
当{replacement}以
"\="
开头时,它将被评估为表达式