gpt4 book ai didi

linux - ZSH 中的文件完成优先级

转载 作者:IT王子 更新时间:2023-10-29 00:41:41 26 4
gpt4 key购买 nike

我有一个 shell 模式,将一些文件标记为“无聊”,即备份文件,pyo文件、vim 备份、自动生成的目录等。我们称它为$BORING_STUFF .

zstyle ':completion:*' file-patterns \ 
'%p:globbed-items' \
'*(^-/):regular-files' \
'*(^-/):boring-files' \
'.*(^-/):hidden-files' \
'*(-/):regular-directories' \
'*(-/):boring-directories' \
'.*(-/):hidden-directories'

在这种情况下,每个组的范围也受适用 ignore-patterns 的约束。 . (这样 boring-files 只包含无聊的文件,而 regular-files 不包含无聊的文件)

我希望加粗的项目始终显示,而其他项目只有在没有其他匹配项时才会显示。 (又名。touch <tab> 将显示常规目录和常规文件但不显示隐藏文件,而 touch .<tab> 将显示隐藏文件。)

  • 全局项
  • 目录
    • 常规目录
    • 无聊的目录
    • 隐藏目录
  • 文件
    • 常规文件
    • 无聊的文件
    • 隐藏文件

最佳答案

我们开始吧。

setopt extended_glob
zstyle ':completion:*' file-patterns \
"^($BORING_FILES|.*)(-/):directories:normal\ directories %p~($BORING_FILES|.*)(^-/):globbed-files:normal\ files" \
"^($BORING_FILES|.*)(^-/):noglob-files:noglob\ files" \
".*~($BORING_FILES)(^-/):hidden-files:hidden\ files .*~($BORING_FILES)(-/):hidden-directories:hidden\ directories" \
"($BORING_FILES)(^-/):boring-files:boring\ files ($BORING_FILES)(-/):boring-directories:boring\ directories" \

zstyle ':completion:*' group-order \
builtins expansions aliases functions commands globbed-files \
directories hidden-files hidden-directories \
boring-files boring-directories keywords viewable

关于linux - ZSH 中的文件完成优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24836684/

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