컬러 탭 완성을 얻는 방법?


17

터미널에서 탭 완성을 사용할 때 컬러 출력을 얻는 방법이 있습니까? 내 색상은 다른 곳에서도 훌륭하므로 색상 터미널을 성공적으로 활성화했습니다.

우분투에서 bash 사용 (10.10).


"탭 완성 사용시 컬러 출력"을 어떻게 지정합니까?
slhck

답변:


21

물고기와 zsh에있는 것처럼 Bash에는 완료 동안 색상 출력 기능이 없습니다. 색상 제어 시퀀스를 출력하는 완성 기능을 작성할 수는 있지만, Bash는 선택을 직접 사용하고 색상 코드는 방해하다

이것이 중요한 기능이라면 zsh를 사용하는 것이 좋습니다.

최신 정보

Bash 4.3 readline은 탭 완성 동안 탭 완성을위한 색상이 실행 파일, 디렉토리 등에 다른 색상을 표시 할 수 있도록하는 변수를 추가합니다.

colored-stats

다가오는 Bash 4.4의 readline에는 탭을 완성하는 동안 색상이 문자열의 일치하는 부분을 표시 할 수있는 변수가 추가되었습니다.

colored-completion-prefix

다음을 사용하여 이러한 변수의 값을 볼 수 있습니다

bind -v | grep color

설정하려면 ~/.inputrc파일에 다음과 같은 줄을 추가하십시오 .

set colored-stats on

1
@Ryan : Zsh는 Bash와 매우 호환됩니다. 아마도 스위치가 상당히 쉬울 것입니다. Bash에는없는 강력한 기능이 많이 있습니다 (또는 외부 유틸리티를 사용해야합니다). 기본 사항에는 크게 다른 몇 가지 사항 만 있습니다. 배열 인덱스는 0부터 시작하는 것이 아니라 1부터 시작하지만 이에 영향을주는 설정이 있습니다. 그래도 가끔 zsh 만 사용합니다.
추후 공지가있을 때까지 일시 중지되었습니다.

1
@AstroFloyd : Bash Manua에서 : "색 정의는 LS_COLORS환경 변수 의 값에서 가져옵니다 ." 그 변수에 대한 문서는 여기 . man페이지에 대한 설정이 없으므로 설정 위치를보고 LS_COLORS해당하는 색상 조합을 찾아 변경해야합니다. 내 시스템에서, man탭이 완료 될 때 페이지 이름이 색상이 표시되지 않습니다 (및 ls출력시 적-온-회색 상태 일 때 심볼릭 링크가 끊어짐 ...
추가 통지가있을 때까지 일시 중지됨.

1
... 완료시 유효한 심볼릭 링크와 같이 밝은 파란색입니다.)
추후 공지가있을 때까지 일시 중지되었습니다.

1
@AndyCarlson : 과 bind -v | grep color모두 표시 합니까 ? 그렇다면 문자 a를 입력 한 다음 tab을 두 번 누르면 어떻게됩니까? 설정을 추가 했지만 새 터미널을 시작하지 않았 거나 control-x control-r을 눌러 실행하지 않은 경우 설정이 적용되지 않습니다. set colored-completion-prefix onset colored-stats on~/.inputrcre-read-init-file
추후 공지가있을 때까지 일시 중지되었습니다.

2
@AndyCarlson ctrl-x ctrl-v를 눌렀을 때 bash 프롬프트에서 무엇이 출력됩니까?
추후 공지가있을 때까지 일시 중지되었습니다.

3

나는 (에 따라, 명령 옵션 및 인수에 대한하지만, 파일 이름 및 디렉토리 완료 색상 모르는 /unix//a/133866 배쉬 4.3과 나중에 추가 할 수 user495470 상태) set colored-stats on~/.inputrc착색 얻을 당신이 할 때 완료 ls <tab>.

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