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 システムでは機能しないことに注意してください。移植可能にしたい場合は、OS チェックを追加することをお勧めします。

于 2013-09-09T09:25:51.003 に答える