vim脚本:如何使变量成为主机命令
我有以下代码将我正在编辑的文件复制到另一个文件夹,但当按F5执行命令时,它会尝试执行命令vim脚本:如何使变量成为主机命令,vim,Vim,我有以下代码将我正在编辑的文件复制到另一个文件夹,但当按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 endfu
“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>
函数!中央公积金()
让路径=展开('%:p')
回波路径
回声“123”
让newpath=substitute(路径,'test1','test2','g')
回显“复制”路径newpath
:!复制路径新路径
端功能
:映射:调用Cpf()
尝试更改行:
:!copy path newpath
进入
还是这个
exec '!copy ' . path . ' ' . newpath
请注意,如果您使用了
copy
,这意味着它不能适用于几乎所有*nix系统。如果希望操作系统检查可移植,则可能需要添加操作系统检查 谢谢你,肯特,这很有效。但是你能给我指一些医生吗?.path.“.”的含义是什么。newpath,点连接字符串吗?点连接字符串以生成外部命令。如需帮助,:h系统(
和:h:exec
@DanielWu
exec '!copy ' . path . ' ' . newpath