zsh 완성을 bash 완성과 비슷하게 만드는 방법은 무엇입니까?


18

나는 최근에 bash에서 zsh ( "oh my zsh"를 사용하고 있음)로 변환했지만 한 가지가 나를 귀찮게한다.

탭 키를 누르면 첫 번째 자동 완성이 자동으로 채워지고 탭을 반복해서 눌러 완료를 순환해야합니다.

이것은 완성 목록을 보여주는 bash와 다릅니다. 모든 완성에 동일한 접두사가 있으면이 접두사가 채워집니다. 계속 입력하여 원하는 것을 선택할 수 있습니다.

나는 탭을 반복해서 눌러 완성을 선택하는 것보다 타이핑하는 것이 빠르기 때문에 후자가 바람직하다는 것을 알았습니다.

이와 관련하여 zsh 완료를 bash처럼 작동시키는 방법이 있습니까?

답변:


18
setopt noautomenu
setopt nomenucomplete

둘 다 필요합니다. 탭을 충분히 여러 번 누르면 완성 목록이 표시되지만 지금까지 입력 한 내용에는 문자가 추가되지 않습니다.


4

이것이 기본 동작이라고 생각하지 않지만 다음을 사용하여 끌 수 있습니다.

setopt +o menucomplete

다른 방법으로이 동작에 영향을 미치는 기타 설정은 다음과 같습니다 : autolist, automenu, bashautolist, listambiguous. 자세한 내용은 "완료"섹션 man zshoptions을 참조하십시오. 이 명령을 ~/.zshrc파일에 추가 할 수 있습니다 .

다음을 수행하여 다른 많은 것을 대화식으로 구성 할 수 있습니다.

autoload -U compinstall
compinstall

프롬프트와 메뉴를 따르십시오.

배쉬,이 동작은 바인딩에 의해 제어됩니다 Tabcomplete또는 menu-complete에서 ~/.inputrc:

"\C-i": complete   # do list completion

또는 쉘 프롬프트에서 또는 ~/.bashrc:

bind '"\C-i": menu-complete' # do menu completion

1
메타 주석 : "탭"문자를 어떻게 얻었습니까?
좋은 사람

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