답변:
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을 호출하도록 별칭을 지정할 수는 있지만 바람직하지는 않습니다.
$1
:)으로 끝나는 한 줄 bash 스크립트보다 별칭을 선호합니다 .
brew install source-highlight
. yaml을 채색 할 수 없음 :(
과 같은 구문 강조 코드를 출력하기 위해 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'
.functions
했습니다.colorize(){...}
이 문제를 해결하기 위해 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로 인쇄하고 브라우저에서 열어서 인쇄 할 수있는 기능을 만들었습니다 ( open
OS 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
}
즐겨!
bat
ostechnix.com/…을