我将
shell从bash更改为zsh,我想知道是否可以像Sublime Text调色板一样模糊完整命令.我认为这种搜索,完成的概念必须无处不在.节省了大量时间.
例:
cd dcmts – > cd文件
cd dwnls / mnf – > cd Downloads / MyNewFolder
我看到了以下项目,但这并不是很有说服力.
并且似乎可以定义一些设置或算法来配置zsh在完成时的行为.
zstyle’:完成:*’完成者_complete _match _approximate
zstyle’:完成:*:匹配:*’仅限原创
zstyle’:完成:*:近似值:*’max-errors 10 numeric
之前两个解决方案的问题是文件夹在完成时不会出现在列表的顶部,而通常是用户想要的.
如果你有任何有趣的.zshrc来满足模糊搜索,那将会很有趣.
谢谢你的帮助.
解决方法
你能举例说明完成后文件夹没有出现在列表顶部吗?看来你的配置中有些东西会破坏你的东西.默认情况下,Zsh只会用目录完成cd:
zsh -f # new Zsh with only default configs % zstyle ':completion:*' completer _complete _match _approximate % zstyle ':completion:*:approximate:*' max-errors 3 numeric % mkdir test && cd test % mkdir etc && touch et0 % autoload -U compinit && compinit % cd et0[TAB] # removes the 'et0' and replaces it with 'etc'.
FWIW,“搜索和完成无处不在”考虑尝试预测https://stackoverflow.com/a/17230878/766289(我发现它有点疯狂……)
此外,在Zsh中你可以做以下事情:
setopt auto_cd alias -d build=/home/foo/very/long/path/build # dir alias build # <-- changes into /home/foo/very/long/path/build
要不就
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' # match upper from lower case cd d/m[TAB] # just type the initial letter of each dir cd Downloads/MyNewFolder
我的意思是cd d / m需要的输入少于cd dwnls / mnf