0

我有以下代码可以将我正在编辑的文件复制到另一个文件夹,但是当通过 press 执行命令时F5,它会尝试按"copy path newpath"字面意思执行命令,而不用它们的值替换变量。解决方案是什么?

function! Cpf()

let path = expand('%:p')
echo path
echo "123"
let newpath = substitute(path,'test1','test2','g')
echo "copy " path newpath
:!copy path newpath
endfunction

:map <F5> :call Cpf()<CR>
4

1 回答 1

1

尝试更改行:

:!copy path newpath

进入

call system("copy ".path." ".newpath)

或这个

exec '!copy ' . path . ' ' . newpath

请注意,如果您使用copy,这意味着它不适用于几乎所有 *nix 系统。如果您希望它是可移植的,您可能需要添加操作系统检查。

于 2013-09-09T09:25:51.003 回答