Zmień domyślne opcje mniej (pager)

9

Używam Ubuntu 10.04. Mój domyślny pager (ustawiony za pomocą aktualizacji alternatyw, a nie $ PAGER) jest mniejszy. Problem polega na tym, że kiedy używam ri (narzędzie do dokumentacji Ruby) w trybie „-f ansi”, mniej pokazuje sekwencje specjalne (takie jak „ESC [36m”) zamiast wyświetlania tekstu w kolorze. Mogę zmusić go do wyświetlania kolorów, ręcznie pipetując dane wyjściowe do mniejszej z opcją -R, na przykład:

ri -f ansi String | less -R

Chciałbym jednak, aby była to opcja domyślna, gdy jako pager używany jest less.

Uwaga: Zdaję sobie sprawę, że więcej i większość domyślnie pokazuje kolory, ale używam mniej z powodu powiązań klawiszy podobnych do vi.

imgx64
źródło

Odpowiedzi:

9

Odpowiedź znalazłem gdzie indziej. Musiałem użyć, lesskeyaby skonfigurować opcje mniej:

$ lesskey -
#env
LESS = -R

Następnie Ctrl+d

wykonał lewę. Nadal nie jestem pewien, dlaczego less ignoruje $ LESS.

imgx64
źródło
Aha! opcje w ~/.less(co lesskeypisze) zastępują te w środowisku. Więc musiałeś mieć .lessplik zawierający LESS=-rwcześniej.
Gilles 'SO - przestań być zły'
3

Ustaw LESSzmienną środowiskową na listę ulubionych opcji rozdzieloną spacjami.

Gilles „SO- przestań być zły”
źródło
Nie działało, mniej całkowicie ignoruje $ MNIEJ. Zgaduję, że jest to problem specyficzny dla Ubuntu, ponieważ wiele innych zmiennych powłoki jest ignorowanych, w tym $ PAGER i $ EDITOR.
imgx64,
lesszdecydowanie bierze to $LESSpod uwagę, jak na Ubuntu 10.04, jak wszędzie indziej. A $PAGERi $EDITORpraca też. Wygląda na to, że nie ustawiasz poprawnie zmiennych środowiskowych. Jak to zrobiłeś?
Gilles „SO- przestań być zły”,
Próbowałem: „export LESS = '- R'; ri -f ansi String | less" Jednak less używa poprawnie innych zmiennych środowiskowych, takich jak te wymienione tutaj: crunchbanglinux.org/forums/topic/2403/color- man-pages
imgx64,
@ imgx64: To działa dla mnie ™ i nie rozumiem, jak to nie mogło działać. Hmmm ... Jaka jest wydajność dwóch poleceń type lessi env | grep LESS?
Gilles 'SO - przestań być zły'
„less is / usr / bin / less” i „LESS = -R LESSOPEN = | / usr / bin / lesspipe% s LESSCLOSE = / usr / bin / lesspipe% s% s”
imgx64,
1

Najbardziej prawdopodobnym problemem jest to, że nie wyeksportowałeś mniejszej zmiennej.

LESS="FRX"
ls -l | less
<not colorized>

export LESS="FRX"
ls -l | less
<colorized>

Możesz na przykład utworzyć plik o nazwie „/etc/profile.d/less.sh”, zawierający po prostu „export LESS =„ FRX ””, a mniejsza konfiguracja będzie dostępna w całym systemie.

Pan B.
źródło
Nie ma zabawy, szczupła. .. co jest złego w wskazywaniu na odrobinę nekromancji?
Pan B