생선 껍질 아래에 컬러 매뉴얼 페이지를 얻는 방법?


12

매뉴얼 페이지를 컬러로 표시하는 방법이있는 것 같습니다 ( 여기 참조 . less와 관련된 환경 변수를 설정하고 이러한 정의를 추가하는 것을 포함합니다 .bashrc.) config.fish생선 껍질 에 대해 동일한 작업을 시도했지만 컬러 출력이 없습니다.

생선 껍질에 컬러 매뉴얼 페이지를 얻는 방법?




@ bodhi.zazen Fish는 내보내기 대신 set 명령을 사용합니다. 매뉴얼 페이지가 컬러로 표시되지 않았습니다. 따라서 위의 질문은 :-)
Ashwin Nanjappa

당신은 (아키 위키에서) 변수를 가장 적게 또는 (아키 위키에서) 다시 설정해야합니다.
Panther

@ bodhi.zazen 예. 나는 그렇게했다. 매뉴얼 페이지에 색상이 없습니다 :-(
Ashwin Nanjappa

답변:


6

다음 명령으로 구성을 설정할 수 있습니다.

set -x LESS_TERMCAP_mb (printf "\033[01;31m")  
set -x LESS_TERMCAP_md (printf "\033[01;31m")  
set -x LESS_TERMCAP_me (printf "\033[0m")  
set -x LESS_TERMCAP_se (printf "\033[0m")  
set -x LESS_TERMCAP_so (printf "\033[01;44;33m")  
set -x LESS_TERMCAP_ue (printf "\033[0m")  
set -x LESS_TERMCAP_us (printf "\033[01;32m")  

7

맨 페이지를 볼 때만이 색상을 추가하고 싶을 때는이 색상을 추가하지 않으 less려면이 변수 man를에 배치하는 대신 래퍼 함수에서 설정해야 합니다 config.fish.

전체 프로세스는에 새 파일을 작성 ~/.config/fish/functions/man.fish하고 그 안에 man필요한 환경 변수를 설정 하는 함수 를 정의한 다음를 man사용 하여 원본을 호출하고를 사용하여 command인수를 전달 $argv합니다.

이것은 래퍼 함수의 내 버전입니다.

~/.config/fish/functions/man.fish
function man --description "wrap the 'man' manual page opener to use color in formatting"
  # based on this group of settings and explanation for them:
  # http://boredzo.org/blog/archives/2016-08-15/colorized-man-pages-understood-and-customized
  # converted to Fish shell syntax thanks to this page:
  # http://askubuntu.com/questions/522599/how-to-get-color-man-pages-under-fish-shell/650192

  # start of bold:
  set -x LESS_TERMCAP_md (set_color --bold red)
  # end of all formatting:
  set -x LESS_TERMCAP_me (set_color normal)

  # start of standout (inverted colors):
  #set -x LESS_TERMCAP_so (set_color --reverse)
  # end of standout (inverted colors):
  #set -x LESS_TERMCAP_se (set_color normal)
  # (no change – I like the default)

  # start of underline:
  #set -x LESS_TERMCAP_us (set_color --underline)
  # end of underline:
  #set -x LESS_TERMCAP_ue (set_color normal)
  # (no change – I like the default)

  command man $argv
end

2
정말 고마워! 더 비린내가 되려면 set_color명령을 사용할 수 있습니다 . 예 : set -x LESS_TERMCAP_md (set_color -o red),set -x LESS_TERMCAP_me (set_color normal)
Chris Clark

3

호출기로 덜 사용한다고 가정하면 다음과 같이 입력하십시오 ~/.config/fish/config.fish.

set -x LESS_TERMCAP_mb (printf "\e[01;31m")
set -x LESS_TERMCAP_md (printf "\e[01;31m")
set -x LESS_TERMCAP_me (printf "\e[0m")
set -x LESS_TERMCAP_se (printf "\e[0m")
set -x LESS_TERMCAP_so (printf "\e[01;44;33m")
set -x LESS_TERMCAP_ue (printf "\e[0m")
set -x LESS_TERMCAP_us (printf "\e[01;32m")

당신이 볼 경우, \e[0m당신은 그 사람의 페이지를 볼 때 등 표시를,뿐만 아니라이 줄을 추가하십시오 :

set -x LESS "-R"

작동 안함. "man ls"를 수행 할 때 \ e [01 문자열이 표시됩니다.
Ashwin Nanjappa

이상한, 나는 이것이 내 구성 파일에서 나온 것이라고 생각합니다. 그러나 다른 배포판을 직접 실행하면서 실제로 우분투에서 시도하지 않았습니다. 어쩌면 set -x LESS="-R"구성 끝에 추가해 볼 수 있습니까?
bobbaluba

그것을 추가해도 도움이되지 않았습니다. 맨 페이지에 여전히 동일한 \ e [01 문자열이 표시됩니다.
Ashwin Nanjappa

1

set_color직접 ANSI 시퀀스 대신 사용할 수 있습니다 . 실제로 24 비트 색상 16 진수 이스케이프를 사용하여 원하는 색상을 사용할 수 있습니다 (set_color FF55AA).

set -x LESS_TERMCAP_mb (set_color brred)
set -x LESS_TERMCAP_md (set_color brred)
set -x LESS_TERMCAP_me (set_color normal)
set -x LESS_TERMCAP_se (set_color normal)
set -x LESS_TERMCAP_so (set_color -b blue bryellow)
set -x LESS_TERMCAP_ue (set_color normal)
set -x LESS_TERMCAP_us (set_color brgreen)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.