이용 가능합니까?패턴 일치?ignored-patters
tag-order
다음과 같이 첫 번째 시도에서 접두어 없이 제한된 일치 완료의 사용자 정의 세트를 시도하고 싶습니다.
$ man <Tab>
man info zshall
이것은 단순화된 예입니다. 나는 git에서도 같은 일을 하고 싶다. 내 현재 스타일은 무시할 특정 별칭 또는 명령 매개 변수 집합에 의존하는데 이는 이상적이지 않습니다.
zstyle ':completion:*:complete:git:*' force-list always
zstyle ':completion:*:complete:git:*' tag-order \
'main-porcelain-commands:-freq:frequently\ used\ commands aliases'
zstyle ':completion:*:complete:git:*:main-porcelain-commands-freq' \
ignored-patterns '(am|archive|bisect|bundle|clean|cherry-pick|citool|fetch|gc|gui|ls-files|log|notes|range-diff|show|stash|status|submodule|subtree|worktree)*'
이는 다음을 나타냅니다.
$ git <Tab>
add -- add file contents to index
ai -- alias for 'add --interactive'
amend -- alias for 'commit --amend --reuse-message=HEAD'
branch -- list, create, or delete branches
checkout -- checkout branch or paths to working tree
clone -- clone repository into new directory
commit -- record changes to repository
ctags -- alias for '!.git/hooks/ctags'
describe -- show most recent tag that is reachable from a commit
df -- alias for 'diff --staged'
diff -- show changes between commits, commit and working tree, etc.
format-patch -- prepare patches for e-mail submission
graph -- alias for 'log --graph --oneline --decorate'
grep -- print lines matching a pattern
init -- create empty git repository or re-initialize an existing one
ls -- alias for 'ls-files'
merge -- join two or more development histories together
mv -- move or rename file, directory, or symlink
pull -- fetch from and merge with another repository or local branch
push -- update remote refs along with associated objects
rebase -- forward-port local commits to the updated upstream head
res -- alias for 'reset --soft HEAD^'
reset -- reset current HEAD to specified state
revert -- revert existing commits
rm -- remove files from the working tree and from the index
shortlog -- summarize git log output
st -- alias for 'status --short --untracked-files=no'
tag -- create, list, delete or verify tag object signed with GPG
모든 것을 무시하고 사용해야 하는지 fake-always
, 에서 부정 검색을 사용할 수 있는지 ignored-patterns
, 아니면 시스템에 실제로 존재하는 몇 가지 매뉴얼 페이지를 선택하고 자동으로 사용하기 위해 사용자 정의 완료 함수를 작성해야 하는지 궁금합니다. 먼저 라벨을 정의하세요.
답변1
다음에서 부정적인 조회를 수행할 수 있습니다 ignored-patterns
. 단일 패턴을 사용하여 다음을 사용합니다.^
부정 연산자. ( extended_glob
완료 중에는 항상 활성화되지만 setopt extended_glob
완료 후에도 유용하므로 어쨌든 권장합니다.)
zstyle ':completion:*:complete:git:*:main-porcelain-commands-freq' \
ignored-patterns '^(add|branch|…)'