BASH의 탭 완성이 첫 번째 일치를 채우나요?

BASH의 탭 완성이 첫 번째 일치를 채우나요?

Windows 명령 프롬프트처럼 Tab 키를 눌렀을 때 BASH가 첫 번째 일치 항목을 채우도록 하는 방법이 있나요?

(여전히 일치 항목 목록이 표시되지만 Tab을 계속 누르면 일치 항목이 순환됩니다.)

즉, 여기서 목표는 다음을 채울 수 있는 것입니다.어느성냥그리고오직TAB 키를 충분히 누르면 Windows에서와 같습니다.

답변1

파일 에 다음을 추가합니다 .inputrc(정확한 위치는 시스템에 따라 다릅니다).

"\C-i": menu-complete

이는 TAB을 메뉴 완료로 매핑하여 자동으로 첫 번째 일치를 완료합니다.

show-all-if-ambiguous그런 다음 TAB을 처음 눌렀을 때 가능한 완성 목록을 표시하는 를 추가(또는 주석 해제)합니다 .

예를 들어, (아마도) .inputrc파일에서:

# On RHEL 8.3 - $HOME/.inputrc
set show-all-if-ambiguous on
"\C-i": menu-complete

또는 다음을 수행하여 세션별로 메뉴 완성을 설정할 수 있습니다(편집이 필요하지 않음 .inputrc).

bind '"\C-i" menu-complete'

답변2

이것이 bash에서 작동하도록 하는 방법을 모르지만 zsh의 기본 설정은 정확히 원하는 것입니다. 확인하다아 맙소사그리고다루기 힘든.

zsh는 bash의 기능 대부분을 갖추고 있으며, Tab과 Enter만으로 탐색할 수 있는 기능과 같은 몇 가지 추가 기능도 포함되어 있습니다!

대부분의 Linux 배포판에는 zsh 설치용 패키지가 함께 제공됩니다.

관련 정보