gpt4 book ai didi

zsh - 如何向 ZSH 添加模糊完成(如 Sublime Text 调色板)

转载 作者:行者123 更新时间:2023-12-04 13:39:44 24 4
gpt4 key购买 nike

我通过 shell 从 bash 更改为 zsh,我想知道这是否可以像使用 Sublime Text 调色板一样模糊完整的命令。我认为这种寻找、完成的概念一定无处不在。这是一个巨大的节省时间。

示例 :
cd dcmts -> cd Documentscd dwnls/mnf -> cd Downloads/MyNewFolder
我看到了以下项目,它并不是很有说服力。

zsh-fuzzy-match

并且似乎可以定义一些设置或算法来配置 zsh 在完成时的行为。
zstyle ':completion:*' completer _complete _match _approximatezstyle ':completion:*:match:*' original onlyzstyle ':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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com