터미널 자동 완성: 제안 루프 검색

터미널 자동 완성: 제안 루프 검색

Ubuntu 설정에 이것이 있는데 Fedora로 전환한 이후 설정하고 싶었지만 방법을 잊어버렸습니다... 아이디어는 간단합니다.

을 두 번 클릭할 때 터미널에 제안이 표시되는 것을 원하지 않고 tab, 대신 누를 때마다 가능한 모든 제안이 순환되기를 원합니다 tab. Vim에서도 이 작업을 수행할 수 있습니다.

따라서 입력 gedit a하고 누르면 tab첫 글자가 있는 모든 파일이 표시됩니다 a.

답변1

이것은 실제로 readline이라는 함수입니다 menu-complete. 다음을 실행하여 탭에 바인딩할 수 있습니다(기본값 대체 complete) .

bind TAB:menu-complete

~/.bashrc또는 bash뿐만 아니라 모든 readline에서 수행되도록 구성할 수도 있습니다 ~/.inputrc.

bind -p또한 (현재 바인딩 표시, 탭이 로 표시됨 "\C-i") 및 bind -l(바인딩할 수 있는 모든 기능 나열) 유용할 수도 있습니다 .Bash 매뉴얼의 줄 편집 섹션그리고readline에 대한 문서.

답변2

Bash에서 완성 메뉴를 순환할 수 있고 프로젝트 메뉴를 표시할 수도 있습니다. Zsh와 달리 현재 메뉴 항목은 강조 표시되지 않습니다.

다음에 추가 ~/.inputrc:

set show-all-if-ambiguous on
set show-all-if-unmodified on
set menu-complete-display-prefix on
"\t": menu-complete
"\e[Z": menu-complete-backward

문서 man bash:

Readline Variables
    menu-complete-display-prefix (Off)
           If set to On, menu completion displays the common prefix of the
           list of possible completions (which may be empty) before cycling
           through the list.
    show-all-if-ambiguous (Off)
           This alters the default behavior of the completion functions. If
           set to On, words which have more than one possible completion
           cause the matches to be listed immediately instead of ringing
           the bell.
    show-all-if-unmodified (Off)
           This alters the default behavior of the completion functions in
           a fashion similar to show-all-if-ambiguous. If set to On, words
           which have more than one possible completion without any
           possible partial completion (the possible completions don't
           share a common prefix) cause the matches to be listed
           immediately instead of ringing the bell.

Completing
    menu-complete
          Similar to complete, but replaces the word to be completed with
          a single match from the list of possible completions. Repeated
          execution of menu-complete steps through the list of possible
          completions, inserting each match in turn. At the end of the list
          of completions, the bell is rung (subject to the setting of
          bell-style) and the original text is restored. An argument of
          n moves n positions forward in the list of matches; a negative
          argument may be used to move backward through the list. This
          command is intended to be bound to TAB, but is unbound by
          default.
    menu-complete-backward
          Identical to menu-complete, but moves backward through the list
          of possible completions, as if menu-complete had been given
          a negative argument. This command is unbound by default.

답변3

새로운 쉘 환경을 통한 대체 솔루션:

터미널 환경을 bash에서 다음으로 변경하는 것이 좋습니다.물고기기본적으로 구문 강조 및 기타 몇 가지 기능과 함께 자동 완성 기능이 있습니다.

여기에 이미지 설명을 입력하세요.

관련 정보