更新svn(subversion)到1.7后 zsh 的svn自动完成就傻X了。
错误: _arguments:comparguments:312: invalid argument: [–cl]:arg:
修改方法
打开文件:/usr/share/zsh/4.3.11/functions/_subversion
找到35行左右
${=${${${(M)${(f)”$(LC_ALL=C _call_program options svn help $cmd)”#(*Valid options:|(#e))}:#* :*}%% #:*}/ (arg|ARG)/:arg:}/(#b)-([[:alpha:]]) \[–([a-z-]##)\](:arg:)#/(–$match[2])- $match[1]$match[3] (-$match[1])–$match[2]$match[3]}
改为
${=${${${(M)${(f)”$(LC_ALL=C _call_program options svn help $cmd)”#(*Valid options:|(#e))}:#* :*}%% #:*}/ (arg|ARG)/:arg:}/(#b)(-##)([[:alpha:]]##) \[–([a-z-]##)\](:arg:)#/(- -$match[3])$match[1]$match[2]$match[4] ($match[1]$match[2])–$match[3]$match[4]}
参考资料:
http://www.zsh.org/mla/workers/2011/msg01448.html
Read: 281
刚才没看评论…… 实测确实这招不灵鸟…. 现在试试删掉….
自动完成其实用不上…
svn1.7还不兼容真是奇了怪了
zsh更新了以后这招又不好用了,不过这一句其实没有什么用,其实可以直接注释掉。
从代码上看好像是用来自动补完svn 参数的