내가 이렇게하면 :
alias g='git'
모든 완료 규칙을 풉니 다 (예 : 입력 한 후 Tab 키를 누르면 분기 및 리모컨이 더 이상 자동으로 완료되지 않습니다 g push o
).
g=git
지난 달에 별칭을 756 번 사용했는데, 이는 'g'와 'i'키를 총 1512 번 누르는 것을 저장했음을 의미합니다. 그것은 내 자식 별칭과 결합하여 한 달에 수만 건의 키 누르기를 절약 할 수 있습니다.
내가 이렇게하면 :
alias g='git'
모든 완료 규칙을 풉니 다 (예 : 입력 한 후 Tab 키를 누르면 분기 및 리모컨이 더 이상 자동으로 완료되지 않습니다 g push o
).
g=git
지난 달에 별칭을 756 번 사용했는데, 이는 'g'와 'i'키를 총 1512 번 누르는 것을 저장했음을 의미합니다. 그것은 내 자식 별칭과 결합하여 한 달에 수만 건의 키 누르기를 절약 할 수 있습니다.
답변:
에서 다음을 적절히 복사 및 수정 /etc/bash_completion.d/git
하려면 다음 행을 추가하십시오 ~/.bashrc
.
complete -o bashdefault -o default -o nospace -F _git g 2>/dev/null \
|| complete -o default -o nospace -F _git g
source /usr/share/bash-completion/completions/git
내 .bashrc 에 추가 했다
.bashrc
여기서 코드가 작동 하는지 확실하지 않지만이 답변은 확실히 구식입니다. /etc/bash_completion.d/git
14.04에 존재하지 않는 것 같습니다. 아래의 lzap의 답변을 참조하십시오 .
최신 bash-completion upstream은 약간 바뀌었고 이름이 바뀌 었습니다. 지금은 :
source /usr/share/bash-completion/completions/git
__git_complete g __git_main
다음과 같은 상황이 발생하면 최신 버전의 Ubuntu (예 : 14.04, Fedora 22+)에서이를 사용하십시오.
completion: function `_git' not found
완료하는 동안.
__git_complete gc _git_checkout
보다 구체적인 별명에 대한 완료를 설정 하려면 (또는 유사한)를 사용하십시오 . /usr/.../git
위와 같이 검색 하여 올바른 이름을 찾으십시오.
gc
=> git checkout
앨리어싱 반대) c
에 checkout
내 git
, 그리고 말을 git c
. 틀 렸으면 말해줘.
에서 ~/.bashrc
:
alias g='git'
source /usr/share/bash-completion/completions/git
complete -o default -o nospace -F _git g
http://29a.ch/2013/8/9/fixing-bash-autocomplete-on-ubuntu-13-04를 통해
먼저 원래 완료 명령을 찾으십시오. 예:
$ complete | grep git
complete -o bashdefault -o default -o nospace -F __git_wrap__git_main git
이제 이들을 시작 스크립트에 추가하십시오 (예 : ~ / .bashrc) :
# copy the original statement, but replace the last command (git) with your alias (g)
complete -o bashdefault -o default -o nospace -F __git_wrap__git_main g
# load dynamically loaded completion functions (may not be required)
_completion_loader git
_completion_loader
라인은 필요하지 않을 수 있습니다. 그러나 경우에 따라 완료 기능은 명령을 입력 TAB
하고 처음으로 누른 후에 만 동적으로로드 됩니다. 따라서 원래 명령을 사용하지 않고 alias +를 시도하면 TAB
"bash : completion : function not found"와 같은 오류가 발생할 수 있습니다.
업데이트 방법은이 작업을 수행하는 (완전 나를 위해 작동하지 않을 것이다) :
cd
-홈 디렉토리로 전환wget https://raw.github.com/git/git/master/contrib/completion/git-completion.bash
source ~/git-completion.bash
.bashrc 파일에 추가 하십시오 (이 파일이 홈 폴더에 없으면 bash가 자동으로 찾습니다)alias g='git'
.bashrc 파일에 추가 하십시오.source ~/.bashrc
__git_complete g _git
완성을 위해 ~/.bash-completion
파일을 사용하여 답변을 추가하고 싶습니다.이 파일은 bash-completion 스크립트의 끝에서 제공됩니다.
_xfunc git __git_complete g __git_main
_xfunc git __git_complete gl _git_log
_xfunc git __git_complete gd _git_diff
_xfunc git __git_complete gb _git_branch
그런 다음 ~/.bashrc
별칭이 있습니다. 나는 노력하고 있었다 :
~/.bashrc
bash-completion 물건으로 오염시키지 마십시오 (소유물을 보관하십시오) ✓불행히도 _xfunc
소스 완성 git-completion 어쨌든. 내가 제대로 (나는 또한 lunchpad에 요청하는 방법을 알아낼 일단 나는이 대답을 업데이 트됩니다 여기 ).
여기를보십시오 : https://gist.github.com/scue/576310b7c6b7714aad05
wget https://gist.github.com/scue/576310b7c6b7714aad05/raw/459d46761c231f5c373c1cf496920b01bb6669d2/.bash_aliases.git -O ~/.bash_aliases.git
echo "test -e ~/.bash_aliases.git && source ~/.bash_aliases.git" >> ~/.bashrc
즐기세요! (^ o ^) /