맨 페이지를 검색 할 때 대소 문자를 구분하지만 대문자 만 검색합니다. 예를 들어 x
일치 x
하고 X
반면 X
일치 x
합니다. 이것은 man-db
기본적으로 페도라 파생 시스템에서 사용되며 다른 버전에서는 사용 가능한 man 버전입니다. man man
기본 호출기는 less -s
입니다. $LESS
환경에 정의되어 있지 않으며 my $PAGER
is just less
이며 별명이 없습니다.
이것은 less
스스로 호출 할 때의 동작이 아닙니다 .
어쨌든 x
소문자 x
를 사용할 때 소문자를 강제로 적용 해야 man
합니까?
답변
남자는 덜 부르고있다. man 레벨에서 유일한 제어는 Less with를 호출 할 옵션을 선택하는 것입니다.
Less의 검색 대 / 소문자 구분은 두 가지 옵션으로 제어됩니다.
- 경우
-I
효과에, 다음 검색은 대소 문자를 구별하지 않는다 : 중 하나a
또는A
모두에 맞게 사용할 수 있습니다a
및A
. - 경우는
-i
유효하지만-I
, 다음 검색은 대소 문자를 구분하지만, 패턴에는 대문자가없는 경우에만 가능합니다.
-I
Less에 기본 옵션을 설정 하면 맨 페이지에서도 모든 검색이 대소 문자를 구분하지 않습니다.
Man-db는 LESS
환경 변수 를 통해 추가 옵션을 호출기에 전달 합니다.이 변수는 Less가 명령 줄 옵션과 같은 방식으로 해석됩니다. 설정은 컴파일 타임에 하드 코딩되어 시작됩니다 -i
. (값은 "-ix8RmPm%s$PM%s$"
Man-db 2.6.2 기준이며 P…$
부분은 프롬프트 문자열입니다.)
매뉴얼 페이지의 검색에서 대소 문자를 구분하지 않거나 항상 대소 문자를 구분하지 않으려면 man-db 자체에서이를 구성 할 방법이 없습니다. Man-db가있는 경우 내용을 현재 값 앞에 추가 man
하므로 LESS
환경 변수 를 조작 하는 별명 또는 랩퍼 스크립트를 작성할 수 있습니다 .
alias man='LESS="$LESS -I" man'
이 -i
옵션 을 끄고 맨 페이지에서 기본적으로 검색시 항상 대소 문자를 구분 하려면 :
alias man='LESS="$LESS -+i" man'
환경 변수 LESS
를 설정하여 다른 값을 하드 코딩 할 수도 MANLESS
있지만 그렇게하면 값으로 man
설정 하면 사용자 정의 제목 줄 ( “매뉴얼 페이지 “)과 다른 항목 (특히 굵게 및 밑줄 형식 을 포함해야합니다 ).LESS
MANLESS
foo(42)
-R
답변
이것은 어떻게 less
의 -i
(명령 줄 스위치) “의 경우를 구분”모드가 작동하는 (즉, 여전히 대문자에 민감하다). Gilles가 지적했듯이 이것을 사용하는 것은 man-db로 컴파일됩니다.
Gilles에서 WRT를 설정하여 별명 +-i
또는 사용자 정의 설정에 표시된 방법 외에도 MANLESS
man 페이지가 열리면 대소 문자를 엄격하게 전환 할 수 있습니다 -i
(스위치를 켜고 끕니다). 당신은 작은 “케이스 검색에서 중요하다”메시지 지금은 볼 x
만 일치 x
하고 X
만 일치합니다 X
.
Man-db man
에는 -I
스위치가 있지만 이것은 man 페이지 검색에 적용됩니다. 예를 들어 기본적으로 man BASH
bash 매뉴얼 페이지가 표시되지만 man -I BASH
그렇지는 않습니다.
답변
“어쨌든 소문자 x
만 x
사용 하도록 소문자를 강제로 적용 해야 man
합니까?”
한 가지 방법이 있습니다
man -Tascii manpage |less
나는 gory 세부 사항을 알지 못하지만 roff
처리가 마크 업을 수행 중이며 페이저가 마크 업 된 텍스트를 표시하더라도 마크 업되지 않은 텍스트와 일치하는 것으로 보입니다.
매우 혼란스럽고, nroff
전문가가 파이프 라인을 설명 할 수 있기를 바랍니다 .