고양이가 컬러로 출력 할 수있는 옵션이 있습니까?


답변:


18

GNU 패키지 인 source-highlight 는 트릭을 수행하는 것으로 보입니다 (John T가 지적한 것처럼 고양이를 사용하지는 않지만 고양이에서는 구체적으로 불가능합니다). Ubuntu에서 apt-get을 통해 사용할 수 있으며 Boost 정규식 라이브러리가 필요합니다. 패키지 관리자를 확인하여 둘 다 사용 가능한지 확인하십시오. 그렇지 않으면 웹에서 가져올 수 있습니다. 앞서 링크 된 GNU 페이지에는 Boost에 대한 링크가 있습니다.

설치 후 ccat 라는 경로에 새 스크립트를 작성했습니다 . 스크립트는 다음과 같습니다.

#!/bin/bash
src-hilite-lesspipe.sh $1

아무것도 공상, 그냥 간단하게 적은 그들이 소스 하이라이트로 포함 스크립트. 이 방식으로 호출하면 고양이처럼 작동합니다.

포함 된 적은 스크립트는 사용하기에도 좋은 스크립트입니다. 방금 .bashrc에 다음을 추가했습니다 .

export LESSOPEN="| /path/to/src-hilite-lesspipe.sh %s"
export LESS=' -R '

이 스크립트는 온라인 소스 매뉴얼에 포함되어 있습니다.

고양이를 완전히 무시하고 싶을 때 고양이가 src-hilite-lesspipe.sh $ 1을 호출하도록 별칭을 지정할 수는 있지만 바람직하지는 않습니다.


4
나는 개인적으로 $1:)으로 끝나는 한 줄 bash 스크립트보다 별칭을 선호합니다 .
mgalgs

네, mitch_feaster, 당신은 자리에 있습니다. :]
rgm

2
와 함께 Mac에서도 작동합니다 brew install source-highlight. yaml을 채색 할 수 없음 :(
Sairam

9

과 같은 구문 강조 코드를 출력하기 위해 http://scott.sherrillmix.com/blog/programmer/syntax-highlighting-in-terminal/ 의 지침에 따라 명령을 cat작성했습니다 .ccat

#!/bin/bash
if [ ! -t 0 ];then
  file=/dev/stdin
elif [ -f $1 ];then
  file=$1
else
  echo "Usage: $0 code.c"
  echo "or e.g. head code.c|$0"
  exit 1
fi
pygmentize -f terminal -g $file

와 같은 구문 강조 코드를 출력하기 less위해 vim을 덜 대체로 사용합니다.

alias less='/usr/share/vim/vim72/macros/less.sh'

pygmentize를 설치하는 방법 : easy_install --install-dir $ SOMEDIR 피그먼트
psihodelia

나는 이런 유형의 휴대용 솔루션을 좋아한다. 이 스크립트를 내 bash에 함수로 추가 .functions했습니다.colorize(){...}
guneysus

3

이 문제를 해결하기 위해 highlight를 사용했습니다 . 구문 강조 표시로 파일을 인쇄하는 기능을 만들었고 실패하면 cat을 사용하여 파일을 인쇄합니다. 구문 강조 테마를 원하는대로 변경할 수 있습니다.

function hl { # Overrides the cat command to use syntax highlighting
    # Highlight with 'moria' theme to terminal, and suppress errors
    highlight $1 -s moria -O xterm256 2> /dev/null

    if (($? != 0)); then # If the command had errors
        cat $1 # Just cat the file out instead
    fi
}

Mac을 사용 중이고 Homebrew (권장!)를 사용하는 경우을 실행하여 하이라이트를 설치할 수 있습니다 brew install highlight. 그렇지 않으면 대부분의 다른 패키지 관리자에서 사용할 수 있으며 여기에서 다운로드 할 수 있습니다 .

구문 강조 표시가있는 파일을 html로 인쇄하고 브라우저에서 열어서 인쇄 할 수있는 기능을 만들었습니다 ( openOS X 의 명령에 따라 다름).

function hlprint {
    # Print with line numbers and 'moria' theme
    highlight $1 -l -o print.html -s moria
    open print.html # Open in browser
    sleep 5 # Give the browser time to open
    rm print.html highlight.css # Remove output files
}

즐겨!


1

아니요, 고양이는 구문 강조 기능이 없습니다. 구문 강조를 사용하여 소스 코드를 보려면 vim 또는 선택한 편집기 (구문 강조 표시가있는)에 소스 코드를 넣으십시오. 이런 식으로 Ctrl+ F(앞으로) 및 Ctrl+ B(뒤로)를 사용하여 긴 파일 인 경우 출력 페이지를 넘길 수도 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.