如何将模糊完成(如Sublime Text调色板)添加到ZSH

前端之家收集整理的这篇文章主要介绍了如何将模糊完成(如Sublime Text调色板)添加到ZSH前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我将 shell从bash更改为zsh,我想知道是否可以像Sublime Text调色板一样模糊完整命令.我认为这种搜索,完成的概念必须无处不在.节省了大量时间.

例:

cd dcmts – > cd文件

cd dwnls / mnf – > cd Downloads / MyNewFolder

我看到了以下项目,但这并不是很有说服力.

zsh-fuzzy-match

并且似乎可以定义一些设置或算法来配置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

猜你在找的HTML相关文章