我有一个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>将显示隐藏文件。)
发布于 2014-08-10 13:21:02
我们开始吧。
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 viewablehttps://stackoverflow.com/questions/24836684
复制相似问题