一直以为我关于totalcmd和gvim的设置非常完美了,可惜今天无意中发现个问题,当在totalcmd中选中父目录按下F4使用Gvim打开的话会出现下面的错误:
E580: :endif without :if
而我预期要达到的是使用netrw浏览该目录,经过测试发现使用gvim --remote-silent D:\Downloads\的话就会出现该错误,错误根源在于结尾的反斜杠,而在totalcmd中%P参数是以反斜杠结尾的。
论坛上搜索到相关帖子:%P without backslash
管理员给的答案是"%P.",很聪明的方法,但是不适合我这个问题,我需要同时支持打开文件和目录,所以自己写了个一个ahk脚本来中转myvim.ahk:
gvim := "d:\Portable\gvim\gvim.exe"
params := "--remote-silent "
Loop, %0%
{
param := %A_Index%
StringRight, backslash, param, 1
if (backslash == "\")
StringTrimRight, param, param, 1
params = %params% "%param%"
}
RunWait, %gvim% %params%
转换成myvim.exe放在gvim目录中,然后totalcmd中添加快捷键F4,添加新命令:
这样应该较为完美的解决两者的结合,支持打开多文件和目录,文件名带空格的文件以及单实例程序。
转载请注明: 本文《Totalcmd较为完美的结合gVim》来源于bstaint的博客
没有评论:
发表评论