일부 git
명령에는 많은 옵션이 있으며 필요한 옵션을 검색하는 것이 유용한 경우가 많습니다. 하지만 TAB매체의 너비를 제어하는 옵션을 찾고 있는 것뿐입니다 git-gui
. 완성 항목은 약 200개입니다 git config
. 확실한 해결 방법은 모든 완성 항목을 편집기에 복사하여 검색하는 것입니다.
[something] | grep tab
man
또는 에 info
대한 페이지 compgen
도 없고 help compgen
설명할 옵션도 없으며 자동 완성 기능도 없습니다 compgen
(비꼬는 말인가요?).
첨부된:compgen -A
작동하지 않습니다.
git-gui
조달청: 이것은 -에 관한 질문 이 아닙니다 .탭 너비 문제에 대한 해결책다른 곳.
구매력 평가: 이것이다아니요자동 완성 명령에 대해서만명령 매개변수.
답변1
sudo
자동 완성과 동일한 방식으로 완성 목록을 생성하는 다음 함수를 사용할 수 있습니다.
comp() {
local COMP_LINE="$*"
local COMP_WORDS=("$@")
local COMP_CWORD=${#COMP_WORDS[@]}
((COMP_CWORD--))
local COMP_POINT=${#COMP_LINE}
local COMP_WORDBREAKS='"'"'><=;|&(:"
# Don't really thing any real autocompletion script will rely on
# the following 2 vars, but on principle they could ~~~ LOL.
local COMP_TYPE=9
local COMP_KEY=9
_command_offset 0
echo ${COMPREPLY[@]}
}
comp git config ''
이는 _command_offset
bash-completion(패키지)에 정의되어 있습니다.
참고: 이 함수는 대화형 셸에서 실행해야 합니다(즉, 파일에 있는 경우 실행만 하는 것이 아니라 파일을 가져와야 합니다.). 그렇지 않으면 필요한 완료 규칙/함수가 정의되지 않습니다.
추신. compgen -A
내장된 작업에서만 작동하며 시도해야 할(하지만 작동하지 않는) 것은 compgen -F
(또는 실제로는 compgen -o bashdefault -o default -o nospace -F _git
)입니다. 이것이 작동하지 않는 이유(그리고 compgen/complete를 포함한 bash 내장 명령에 대한 문서)는 다음에서 찾을 수 있습니다.큰 타격(1).