我将shell从bash更改为zsh,我想知道是否有可能像Sublime Text调色板那样模糊完整的命令。我认为搜索,完成的概念必须无处不在。节省大量时间。
示例:cd dcmts -> cd Documents
cd dwnls/mnf -> cd Downloads/MyNewFolder
我看到了以下项目,但它并不令人信服。
zsh-fuzzy-match
而且似乎可以定义一些设置或算法来配置zsh在完成时的行为。zstyle ':completion:*' completer _complete _match _approximate
zstyle ':completion:*:match:*' original only
zstyle ':completion:*:approximate:*' 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,对于“到处搜索和完成”,请考虑尝试
predict
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
要求更少的输入;-)关于zsh - 如何向ZSH添加模糊补全(如Sublime Text调色板),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21582639/