Coś się stało, więc nie widzę już mniej wyróżnień. Próbowałem:
- za pomocą innego terminala.
- za pomocą
-g
opcji - upewniając się, że
-G
tam nie ma - ^ K podczas wyszukiwania
- ESC-U
Nic nie pomaga.
Pracuję w Ubuntu 12.10 na pulpicie i3. $TERM=screen-256
. Kiedy używam ^ ALT 1
przełączać się na TTY1 i man man
widzę, że podświetla ono zarówno parametry man, jak i wzorce wyszukiwania.
Co jeszcze mogę zrobić, aby to naprawić?
Odpowiedzi:
Podświetlanie w TTY1 działa, ponieważ ustawia zmienną TERM na odpowiednią wartość.
Jeśli używasz ekranu:
Zmień zmienną TERM na odpowiednią wartość (np. Screen lub screen-256color ). Sprawdź swoją osobistą ~ / .screenrc lub całym systemie / etc / screenrc i ustalić odpowiednią linię.
W mojej wersji less wartość screen-256 powinna faktycznie skutkować błędem:
Jeśli nie używasz ekranu:
Ekran * tylko się interpretować poprawnie ekranie.
Prawidłowa wartość TERM zależy od emulatora terminala i zwykle powinna być przez nią ustawiana. Domyślnie trzy wstępnie zainstalowane emulatory terminali Ubuntu to xterm .
Wykonać
sprawdzenie, czy wartość TERM zostanie przesłonięta w plikach konfiguracyjnych powłoki.
źródło
To jest denerwujące. Co tu się dzieje? (
tmux
poniżejiTerm.app
)a potem z pewnym nagraniem
a teraz patrzymy na użyte kody
to
1b 5b ...
kod może być bardziej zrozumiały, po skontaktowaniu się z dokumentacją sekwencje kontrolne xterma lub można bawić około ręcznie z sekwencjami zobaczyć, które podTERM=xterm
powoduje podświetlenieczego
TERM=screen
nie robi przypadek, zgodnie z dokumentacją sekwencji kontrolnych, co jest odwrotnościąw pobliżu tego dokumentu możemy dowiedzieć się, że
screen
terminal\033[3m
jest pisany\033[23m
kursywą, a nie kursywą .To odkrycie daje pewne opcje; możemy skonfigurować terminal tak, aby wyświetlał tekst kursywą, lub zamiast tego możemy spróbować, aby
screen
terminal używał kodów odwrotnych zamiast kursywą. (Niektóre kopanie wless(1)
dokumentach nie wykazywało żadnych wyraźnych pokręteł „użyj odwrotności zamiast kursywą” do manipulowania.) (Ponadto, niektóre terminale mogą oferować wsparcie dla tłumaczenia X na Y, sprawdź szczegóły w terminalach). (Lub możesz wypróbuj inny emulator terminala i zobacz, co on robi ...)Wow tekst pisany kursywą jest brzydki . Spróbujmy zamiast tego zmienić
screen
używane kody na odwrotne. Dotyczy to oczywiście bazy danychterminfo
(lub ewentualnietermcap
), którą można wyeksportowaćinfocmp(1)
i skompilowaćtic(1)
Więc zgaduję, że
smso
jest używany, biorąc pod uwagę, żexterm
używa\E[7m
iscreen
\E[3m
; zgodnie zterminfo(5)
tym jest „trybem wyróżniającym się” i jest sparowany z rewersemrmso
; zmieńmy te na to, coxterm
wykorzystuje ...Hej, teraz wygląda to lepiej (ale trzeba będzie to zrobić na wszystkich hostach dla pliku
screen
lub cokolwiek innegoterminfo
...)źródło