2

尝试在 tcl 中使用 gvim.exe 打开一个文件。我已正确安装 gvim,但无法使用以下 2 个命令打开它:

exec gvim.exe $file_path
exec ./gvim.exe $file_path

但是,可以使用以下 2 个命令打开文件:

exec notepad.exe $file_path
exec "C:/Program Files/vim/vim74/gvim.exe

有人能告诉我发生了什么,我应该在这里做什么吗?

4

1 回答 1

2

当 Tcl execsa 程序时,它使用操作系统的正常规则搜索您PATH(即)上的程序。$::env(PATH)根本找不到不在PATH(并且不在 Windows 上的当前目录中)的程序。

修复 1

更新你的PATH; 我相信您可以通过控制面板针对每个用户或所有用户(具有适当权限)执行此操作。

修复 2

更新PATH脚本中的 。请注意,Windows 路径分隔符是 Tcl 中的命令分隔符(即,需要转义或来自替换)并且元素中的元素PATH需要是本机目录名称。

append ::env(PATH) $::tcl_platform(pathSeparator) \
        [file nativename "C:/Program Files/vim/vim74"]

## This will do the same thing...
# append ::env(PATH) {;C:\Program Files\vim\vim74}
于 2013-10-19T10:37:43.000 回答