![oh-my-zsh 风格的目录/文件路径补全,无需 oh my zsh](https://linux22.com/image/59830/oh-my-zsh%20%E9%A3%8E%E6%A0%BC%E7%9A%84%E7%9B%AE%E5%BD%95%2F%E6%96%87%E4%BB%B6%E8%B7%AF%E5%BE%84%E8%A1%A5%E5%85%A8%EF%BC%8C%E6%97%A0%E9%9C%80%20oh%20my%20zsh.png)
我安装了 oh-my-zsh 一段时间,我可以只使用一个字母输入完整路径,然后按 Tab 键不区分大小写地自动完成整个过程。例如,如果我有一个位于 的文件~/Documents/sites/great-site/great-file.txt
,我可以键入vim ~/d/s/g/g
并按 Tab 键,它会将路径扩展到正确的路径,或者如果有多个可能的路径,它会尽可能地扩展并跳转到发生冲突的位置。
我卸载了 oh-my-zsh,因为它启动缓慢并且一直想侵入式更新。有没有办法在没有 oh-my-zsh 的情况下为文件路径获得相同的不区分大小写的完成和部分单词/一个字母样式的完成?
答案1
我查看了我的系统.zshrc
。/etc/zshrc
从实验到扩展/v/L/S/c
,/var/log/squid/cache.log
我需要三个设置:
# These two initialize the completion system,
# providing the case-sensitive expansion
autoload -U compinit
compinit
# This sets the case insensitivity
zstyle ':completion:*' matcher-list '' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}'
最后一行是通过运行添加的一些设置的一部分compinstall
。我建议你也运行一下。compinstall
没有添加太多设置,所以你不用担心臃肿。