Kiedy przeszukuję strony podręcznika, w wyszukiwaniu rozróżniana jest wielkość liter, ale tylko w odniesieniu do wielkich liter. Np. x
Będzie pasować x
i X
podczas gdy X
tylko dopasowania x
. To jest man-db
wersja man, domyślnie używana w systemach pochodnych fedora i dostępna na innych. man man
mówi, że domyślny pager to less -s
. $LESS
nie jest zdefiniowane w środowisku, moje $PAGER
jest sprawiedliwe less
i nie mam aliasów za mniej.
To nie jest zachowanie, gdy sam się wywołuję less
.
Czy jest tak czy inaczej, aby zmusić małe litery x
do dopasowania tylko małych liter x
podczas używania man
?
search
man
less
case-sensitivity
Złotowłosa
źródło
źródło
LESS
zmienna środowiskowa-i
.less
? Czy masz ustawiony aliasless
? Czy ustawione są zmienne LESS lub LESSOPEN env? Domyślnieless
wyszukiwaniex
tylko dopasowańx
, a nieX
echo $LESS
= nic. Należy pamiętać, że nie jest to niewrażliwe na wielkość liter - ale wymusza tylko czułość WRT. @bdowningalias | grep less
= nic. Właśnie zauważyłem, że dotyczy to tylkoman
(to mandb, btw)., Jednak. Jestem pewien, że gdzieś o tym przeczytałem ...Odpowiedzi:
Człowiek woła mniej; jedyną kontrolą na poziomie człowieka jest wybór opcji, za pomocą których można wywołać Mniej.
Rozróżnianie wielkości liter w wyszukiwaniu Less jest kontrolowane przez dwie opcje.
-I
tak, to wyszukiwania nie rozróżniają wielkości liter: alboa
alboA
mogą być użyte do dopasowania obua
iA
.-i
działa, ale nie działa-I
, wyszukiwania nie rozróżniają wielkości liter, ale tylko wtedy, gdy wzorzec nie zawiera wielkich liter.Jeśli ustawisz
-I
domyślną opcję Mniej, wszystkie wyszukiwania nie będą rozróżniać wielkości liter, nawet na stronach podręcznika.Man-db przekazuje dodatkowe opcje do pagera poprzez
LESS
zmienną środowiskową, która Less interpretuje w taki sam sposób, jak opcje wiersza poleceń. Ustawienie jest zakodowane na stałe w czasie kompilacji i zaczyna się od-i
. (Wartość pochodzi"-ix8RmPm%s$PM%s$"
z wersji Man-db 2.6.2;P…$
część jest łańcuchem zachęty.)Jeśli nie chcesz, aby wyszukiwania na stronach podręcznika rozróżniały wielkość liter, lub jeśli chcesz, aby zawsze rozróżniała wielkość liter, nie ma możliwości skonfigurowania tego w samym man-db. Możesz utworzyć alias dla
man
lub skrypt opakowujący, który manipulujeLESS
zmienną środowiskową, ponieważ Man-db przygotowuje jej zawartość do bieżącej wartości, jeśli jest obecna:Aby wyłączyć tę
-i
opcję i tym samym domyślnie rozróżniać wielkość liter na stronach podręcznika :Możesz również na stałe zakodować inną wartość
LESS
, ustawiającMANLESS
zmienną środowiskową, ale jeśli to zrobisz, toman
po prostu ustawiszLESS
wartośćMANLESS
, tracisz niestandardową linię tytułu („Strona instrukcjifoo(42)
”) i inne gadżety (w szczególności dołącz do-R
pogrubionego i podkreślonego formatowania).źródło
W ten sposób
less
„s-i
(przełącznik linii poleceń)«przypadek niewrażliwe»działa w trybie (czyli wciąż jest wrażliwy na duże litery). Jak zauważa Gilles, użycie tego jest kompilowane do man-db.Oprócz sposobów wskazanych w odpowiedzi Gilles'a na ustawienie WRT aliasu
+-i
lub niestandardowegoMANLESS
, możesz przełączać ścisłe dopasowanie wielkości liter po otwarciu strony podręcznika-i
(co włącza i wyłącza przełącznik); zobaczysz mały komunikat „Wielkość liter ma znaczenie przy wyszukiwaniu”, a terazx
tylko dopasowaniax
iX
tylko dopasowaniaX
.Man-db
man
ma-I
przełącznik, ale dotyczy to wyszukiwania strony man - np. Domyślnieman BASH
da ci stronę podręcznika bash, podczas gdyman -I BASH
nie.źródło
„Czy w ogóle można zmusić małe litery
x
do dopasowania tylko małych literx
podczas używaniaman
?”Oto jeden sposób
Nie znam szczegółów, ale
roff
przetwarzanie wykonuje znaczniki, a pager zdaje się pasować do nieoznaczonego tekstu, nawet jeśli wyświetla on zaznaczony tekst.Bardzo mylące, mam nadzieję, że
nroff
guru może wyjaśnić rurociąg.źródło
ESC[1m
sekwencji typów).