zsh와 같은 Bash 자동 완성


28

bash를 사용하고 있지만 bash가 수행하는 것보다 zsh 스타일 자동 완성 (탭을 누르고 가능성을 통해 탭)을 원합니다. 이는 가능성 목록을 표시하지만 입력 할 때까지 아무것도 선택하지 않습니다. 좀 더 명확하게. bash에서 zsh 유형 동작을 어떻게 얻을 수 있습니까?

솔루션을 검색하면 다른 질문에 대한 많은 답변이 나타 났으므로 여기에 간단한 답변을 얻을 수 있기를 바랍니다 .bashrc.

(그리고 명백한 질문에 대답하기 위해 방금 팀에 합류했기 때문에 여기에서 bash를 사용해야합니다. 환경을 더 쉽게 사용할 수 있도록 bash를 설정하는 작업을 수행합니다. 결국에는 동일한 작업을 수행 할 수 있습니다. bash를 사용하고 대화 형 사용 중에 zsh와 같이 동작하게하면 더 쉽습니다.)

답변:


22

나는 사용한다

bind 'TAB:menu-complete'

그것을 달성하기 위해


11
이것을 .bashrc에 추가하면 탭이 터미널에 나열되지 않고 가능한 옵션을 순환합니다. 두 가지 행동을 모두 할 수 있습니까?
Antonios Hadjigeorgalis

대한 Shitf-Tab완전한 뒤로, 사용에 bind '"\e[Z":menu-complete-backward'.
Ainar-G

24

첫 번째 완성과 리스팅을 얻으려면 다음을 bashrc에 추가하십시오

bind 'set show-all-if-ambiguous on'
bind 'TAB:menu-complete'

show-all-if-ambiguous : 완료 함수의 기본 동작을 변경합니다. 'on'으로 설정하면 둘 이상의 가능한 완료를 가진 단어는 종을 울리는 대신 즉시 일치 항목이 나열됩니다. 기본값은 'off'입니다.

자세한 내용은 Bash Manual 을 참조하십시오.

편집하다:

이것은 bash 가 zsh tho처럼 정확하게 작동하지는 않습니다 . Zsh는 다음 모호한 일치까지 완료됩니다. 배시는 모든 경기를 순환합니다.

예 :

$ ls ~/.ba<tab> .bashrc .bash_history .bash_profile

  • zsh : ~ / .bash까지 완료하고 _를 추가하고 <tab>다시 적을 수있게 해주는 일치 목록을 표시 합니다.
  • bash : ~ / .ba * 일치하는 모든 항목을 순환합니다.

8
나는 화살표 키를 사용하고 zsh의 자동 완성을 시각적으로 표시하는 것을 좋아했습니다. bash로 그러한 행동을 얻는 방법이 있습니까? 더 나은 서버 호환성을 위해 다시 전환
CESCO

2

위로 다음 ingkebil 사람들을 위해,의 대답이 넣어 bindsetinputrc:

$ tail -n 4 /etc/inputrc
# zsh like completion:
# /superuser/288714/bash-autocomplete-like-zsh
set show-all-if-ambiguous on
TAB:menu-complete

나는 .bashrc깨끗하게 유지하는 것을 좋아 합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.