LS_COLORS'da 'mi' ayarı neden postgresql ve python sekmesi tamamlamayı etkiliyor?
Bu yüzden özel bir LS_COLORS
kurulumum var ve bunun içinde aşağıdakilere sahibim:
mi=05;01;33:
or=05;01;33:
mi
ls'in liste görünümündeyken sağ sütundaki or
eksik dosyalar içindir ve normal ls modunda veya solda liste modunda eksik dosyalar içindir. Yukarıdakiler, her ikisi de parlak sarı renkte yanıp sönecek şekilde ayarlar. Öyle ayarladım çünkü yanıp sönmesinin, eksik bir bağlantıya karşı kendimi uyarmanın en açık yolu olacağını düşündüm, bu harika çalışıyor.
Ancak sorun, python'u etkileşimli modda çalıştırdığımda ve sekme tamamlanmasını istediğimde, örneğin import re
o zaman re.[tab key]
. Bunun yerine sadece ne varsa normal liste alma mi
de LS_COLORS
önerileri uygulanan alır. Bu yüzden, herhangi bir makul hızda okumayı imkansız hale getiren, yanıp sönen metinlerle dolu bir ekranla karşılaştım.
Postgresql etkileşimli mod konsolunda sekme tamamlamayı kullandığımda da aynı şey oluyor. Python ile tamamen aynı. Diğer programların veya benzerlerinin çoğu iyi olsa da, bash tamamlama iyidir.
Bu programlar ls
çıktılarını biçimlendirmek için kullanıyor mu? Şu anda mi
sorunun üstesinden gelmek için başka bir şeye geri döndüm ve bu gerçekten önemli değil çünkü hala bozuk bağlantıları görebiliyorum or
. Ama bunun neden olduğunu ve durdurabilirsem gerçekten merak ediyorum.
Yanıtlar
Varsayılan modülleri listeleyerek teyit edilebileceği gibi, GNU okuma satırı kullanılıyor:
$ python3
>>> import sys
>>> sys.modules.keys()
dict_keys([...,'readline', 'atexit', 'rlcompleter'])
Readline sırayla kullanır LS_COLORS
. Kimden man 3 readline
,
renkli istatistikler (Kapalı)
Açık olarak ayarlanırsa, okuma satırı, dosya türlerini belirtmek için farklı renkler kullanarak olası tamamlamaları görüntüler. Renk tanımları LS_COLORS ortam değişkeninin değerinden alınır.
Eğer ikna olmadıysanız, etkileşimli python oturumuna geri dönün ve şunu yazın:
>>> 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
Renkli-istatistikleri devre dışı bırakılması sonra önerilen tamamlanma ( bs(
, ll(
vs.), terminal normal renk olmalıdır. Önek, a
rengi yine de miras alır LS_COLORS
ve siz de aynı şekilde devre dışı bırakabilirsiniz.
readline.parse_and_bind("set colored-completion-prefix off")