Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
zsh中git的不区分大小写补全_Git_Zsh_Zsh Completion - Fatal编程技术网

zsh中git的不区分大小写补全

zsh中git的不区分大小写补全,git,zsh,zsh-completion,Git,Zsh,Zsh Completion,我有zsh设置来执行不区分大小写的完成,但不知何故,git完成的文件匹配仍然区分大小写: % zsh -f % autoload -U compinit && compinit % zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' % setopt nocasematch % touch Foo % ls fo[TAB] % ls Foo # com

我有zsh设置来执行不区分大小写的完成,但不知何故,git完成的文件匹配仍然区分大小写:

% zsh -f
% autoload -U compinit && compinit
% zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
% setopt nocasematch
% touch Foo
% ls fo[TAB]
% ls Foo # completes to foo
Foo
% git add fo[TAB] # does not complete
有什么想法吗?

试试这个:

% zstyle ':completion:*:*:git:files' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
我不知道为什么这是必要的,可能是在_git完成代码的实现中。那东西有6000多行长。

试试这个:

% zstyle ':completion:*:*:git:files' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'

我不知道为什么这是必要的,可能是在_git完成代码的实现中。这东西有6000多行长。

解决方案:从Zsh的“主”分支获取
\u git
。今天Zsh的最新版本是5.0.5,我从中获取的Zsh的主版本是提交的c8e5be9d0fbbc6fb1cf06175b7c3d4757f6d973c

存储库位于
git://git.code.sf.net/p/zsh/code

对于这些未发布的更改,
git add
的完成不区分大小写


在Zsh-5.0.5中,像
git diff
这样的东西不区分大小写,但
git add
不区分大小写。

解决方案:从Zsh的“主”分支获取
\u git
。今天Zsh的最新版本是5.0.5,我从中获取的Zsh的主版本是提交的c8e5be9d0fbbc6fb1cf06175b7c3d4757f6d973c

存储库位于
git://git.code.sf.net/p/zsh/code

对于这些未发布的更改,
git add
的完成不区分大小写


在Zsh-5.0.5中,像
git diff
这样的东西不区分大小写,但
git add
不区分大小写。

这为您解决了问题吗?在这里不起作用。既不使用
zsh-f
,也不使用复杂的zshrc。对不起,我是用git diff而不是git add进行测试的。事实证明,上述措施没有实际效果。我试着钻研完成代码,但很快就迷路了。这帮你解决了吗?在这里不起作用。既不使用
zsh-f
,也不使用复杂的zshrc。对不起,我是用git diff而不是git add进行测试的。事实证明,上述措施没有实际效果。我试着钻研完成代码,但很快就迷路了。