LS_COLORS
따라서 다음과 같은 사용자 정의 설정이 있습니다 .
mi=05;01;33:
or=05;01;33:
mi
이는 ls 목록 보기에서 오른쪽 열에 파일이 누락된 경우, or
일반 ls 모드에서 파일이 누락된 경우, 또는 목록 모드에서 왼쪽 열에 파일이 누락된 경우입니다. 위의 설정은 두 플래시를 모두 밝은 노란색으로 만듭니다. 플래시를 켜는 것이 누락된 링크를 상기시키는 가장 확실한 방법이고 잘 작동한다고 생각하기 때문에 이렇게 설정했습니다.
하지만 문제는 Python을 대화형 모드로 실행하고 import re
그때 처럼 탭 완성을 요청할 때입니다 re.[tab key]
. 단순한 목록을 얻는 대신 그 안에 있는 모든 항목이 제안에 적용 mi
됩니다 . LS_COLORS
그래서 나는 합리적인 속도로 읽는 것을 거의 불가능하게 만드는 깜박이는 텍스트로 가득 찬 화면을 갖게 되었습니다.
postgresql 대화형 모드 콘솔에서 탭 완성을 사용할 때도 같은 일이 발생합니다. 파이썬과 완전히 동일합니다. 대부분의 다른 프로그램이나 유사한 프로그램은 괜찮고 bash 완료도 괜찮습니다.
이러한 프로그램은 이를 사용하여 ls
출력 형식을 지정합니까? 현재는 mi
문제를 해결하기 위해 다른 것으로 다시 바꾸는 중입니다. 그래도 통과할 수 있으므로 별 문제가 되지 않습니다 or
. 하지만 이런 일이 발생하는 이유와 이를 방지할 수 있는지 알고 싶습니다.
답변1
GNU 읽기 라인사용시에는 다음 방법으로 확인하실 수 있습니다.기본 모듈 나열:
$ python3
>>> import sys
>>> sys.modules.keys()
dict_keys([...,'readline', 'atexit', 'rlcompleter'])
Readline은 LS_COLORS
.from을 사용합니다 man 3 readline
.
색상 통계(꺼짐)
on으로 설정하면 readline은 파일 유형을 나타내기 위해 다양한 색상을 사용하여 가능한 완성을 표시합니다. 색상 정의는 LS_COLORS 환경 변수의 값에서 가져옵니다.
믿을 수 없다면 대화형 Python 세션으로 돌아가서 다음을 입력하세요.
>>> a<TAB><TAB>
abs( all( and any( as ascii( assert async await
>>> import readline
>>> readline.parse_and_bind("set colored-stats off")
>>> a<TAB><TAB>
abs( all( and any( as ascii( assert async await
색상 통계가 비활성화된 경우 제안된 완성( bs(
등 ll(
)은 터미널의 일반 색상이어야 합니다. 접두사는 a
여전히 색상을 상속하므로 LS_COLORS
비활성화할 수도 있습니다.
readline.parse_and_bind("set colored-completion-prefix off")