我想在文件的某些位置插入文件名和行号.例如这一行:
_debug('init');
Run Code Online (Sandbox Code Playgroud)
我想替换
:s/debug('/debug('(%current_filename_here%:%current_line_number_here%)\ /g
Run Code Online (Sandbox Code Playgroud)
得到这个
_debug('(filename.ext:88) init');
Run Code Online (Sandbox Code Playgroud)
我尝试使用expand('%:t'
)获取文件名和line("."
)来获取行号,但我不知道如何在替换表达式中使用它.
我怎样才能做到这一点?
你可以用\=
.例如:
:s@_debug('\zs@\=printf('(%s:%d) ', expand('%:t'), line('.'))@
Run Code Online (Sandbox Code Playgroud)
当{replacement}开始时,
"\="
它被评估为表达式,