系统的 shell 用的是 zsh。 一开始以为 zsh,仅仅是 tab 可以更智能的自动不全,没想到对文件名的大小写也不敏感了。
vim gemfile,也能打开 Gemfile.
rails c 里面 File::open 也不大小写敏感了。
上了线发现报错了。
我想知道为什么 这些系统命令例如:vim,tail 或者 rails c 中 ruby 的库,在查找文件的时候都会受 zsh 的影响?
按理说 File::open 应该也是调用系统的接口,难道系统接口也会受 shell 的影响?这之间有什么关系?
然后就是 怎么去掉这个 case insensitive?
安装 OS X 的时候就应该手动格盘选择 case sensitive 的文件系统...
bash 也可以配置大小写不敏感的补全,zsh 的自动补全更强力,例如已输入内容全小写时就不敏感,已输入内容带大写时就敏感,如果没找到候选项就做子字符串补全:
# smart case (treat all lower case as upper/lower), then partial word, then substring
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'